![](/img/trans.png)
[英]Lodash - How can I get all the object from a collection match an array of strings criteria
[英]Using Lodash, how can I check to see if an object's keys match an array of strings
假设我有一个字符串数组
const acceptableColors = ['PURPLE', 'BLUE', 'RED', 'GREEN']
我有一个 object
const primaryColors = {
RED: 'RED',
BLUE: 'BLUE',
GREEN: 'GREEN',
}
使用 Lodash,我可以通过哪些最简洁的方法来检查 primaryColors object 中的所有值(或键)是否都存在于 acceptableColors 数组中?
目前我认为我接近下面的 function,但它仍然需要调整。
const containsAllColors = (primaryColors, acceptableColors) => {
if (_.has(acceptableColors, _.every(_.values(primaryColors)))) {
console.log('true')
}
console.log('false')
}
您可以通过 _.keys(object) 获取 object 的所有键,通过 _.values _.values(object)
_.keys(object)
获取所有值。
因此,在我看来,一种更简洁(且更有效)的方法是检查是否所有键都包含在acceptableColors
中,并且所有值也都包含在其中。
有一种简单的方法可以使用 lodash 检查一个数组是否是另一个数组的子集:
_.difference(a, b).length === 0
我会把 rest 留给你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.