如何测试,如果一个数组是另一个的子集? [关闭](How do I test if one ar

2019-07-17 18:29发布

什么是最好的(干净)的方式来提供这种逻辑的?

var colors = ["red","white","blue"];

logic(colors,["red","green"]); //false
logic(colors,["red"]); //true
logic(colors,["red","purple"]); //false
logic(colors,["red","white"]); //true
logic(colors,["red","white","blue"]); //true
logic(colors,["red","white","blue","green"]); //false
logic(colors,["orange"]); //false

可能使用underscore.js ?

Answer 1:

假设阵列中的每个元素是唯一的:比较的长度hand与两个阵列的交点的长度。 如果它们是相同的,在所有元素hand也都在colors

var result = (hand.length === _.intersection(hand, colors).length);

DEMO



Answer 2:

也许区别就是你在找什么:

_(hand).difference(colors).length === 0


文章来源: How do I test if one array is a subset of another? [closed]