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