提供这种逻辑的最佳(最干净)方法是什么?
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?
答案 0 :(得分:40)
假设数组中的每个元素都是唯一的:将hand
的长度与两个数组的交集长度进行比较。如果它们相同,hand
中的所有元素也都在colors
。
var result = (hand.length === _.intersection(hand, colors).length);
答案 1 :(得分:18)
也许difference正是您所寻找的:
_(hand).difference(colors).length === 0