//将一个数组中的值从另一个包含这些值的数组中去掉
var arr1 = [{ name: 'jk' }, { name: 'kjd' }, { name: 'ksj' }, { name: 'jh' }, { name: 'jjd' }, { name: 'js' }];
var arr2 = [{ name: 'jk' }, { name: 'js' }];
//数组arr2中的对象完全包含在数组arr1中,那么怎么从arr1中将它们剔除呢?
var obj1 = arr1.reduce(function (res, next) {
return $.extend(res, { [next.name]: next });
}, {});//转成对象
for(item of arr2){
delete obj1[item.name];//从对象中删除属性
}
var arr3=Object.keys(obj1).map(function(key){
return obj1[key];
});//再转回数组
网友评论