这就是我正在尝试的。
var object1 = {name: 'one', psno:'34'};
var object2 = {name: 'two', psno:'34'};
var object3 = {name: 'three', psno:'345'};
var arr1 = [object1,object2,object3];
var arr2 = [object1,object2];
// solution
var names = arr1.map(function(obj) {
return obj.name;
});
var isSuperset = arr2.every(function(val) {
return names.indexOf(val) >= 0;
});
alert(isSuperset);
它返回 false 而不是 true。我哪里出错了。
那是因为你没有做.name
检查时.indexOf
var object1 = {
name: 'one',
psno: '34'
};
var object2 = {
name: 'two',
psno: '34'
};
var object3 = {
name: 'three',
psno: '345'
};
var arr1 = [object1, object2, object3];
var arr2 = [object1, object2];
// solution
var names = arr1.map(function(obj) {
return obj.name;
});
var isSuperset = arr2.every(function(val) {
//Ive changed this line!
return names.indexOf(val.name) >= 0;
});
alert(isSuperset);
JS 小提琴在这里:https://jsfiddle.net/waqmafsa/ https://jsfiddle.net/waqmafsa/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)