假设我有一个字符串数组
const acceptableColors = ['PURPLE', 'BLUE', 'RED', 'GREEN']
我有一个目标
const primaryColors = {
RED: 'RED',
BLUE: 'BLUE',
GREEN: 'GREEN',
}
使用Lodash,我可以检查primaryColors对象中的所有值(或键)是否都存在于acceptableColors数组中,最干净的方法是什么?
目前我认为我已经接近下面的功能,但它仍然需要调整。
const containsAllColors = (primaryColors, acceptableColors) => {
if (_.has(acceptableColors, _.every(_.values(primaryColors)))) {
console.log('true')
}
console.log('false')
}
您可以通过_.keys(object)
获取对象的所有键,通过_.values(object)
获取对象的全部值。
因此,在我看来,一种更干净(更高效)的方法是检查acceptableColors
中是否包括所有密钥,以及是否也包括所有值
有一种简单的方法可以检查一个数组是否是另一个带有lodash的数组的子集:
_.difference(a, b).length === 0
剩下的我交给你。