4
我知道这个工作(返回true)检查如果一个数组是另一个数组的一个子集(但检查对一个属性)
var arr1 = [1, 'a', 2, 'b', 3];
var arr2 = [1, 2, 3];
var isSuperset = arr2.every(function (val) { return arr1.indexOf(val) >= 0; });
但是说array1中包括的对象,我想检查数组2对抗对象的某些属性:
var object1 = {name:'one'}
var object2 = {name:'two'}
var object3 = {name:'three'}
var arr1 = [object1,object2,object3];
var arr2 = ['one','two'];
var isSuperset = arr2.every(function (val) { return arr1.indexOf(val) >= 0; });
如何确保每个函数都检查名称属性?
'变种ARR3 = arr1.map(函数(VAL){返回val.name;})'和在arr2.every'的'的predicte,使用'返回arr3.indexOf(VAL)> = 0 ;'。 – 2014-10-28 22:38:23
哦,你是更快,同样的解决方案,upvote – sjkm 2014-10-28 22:41:09