需求:
① 有一个大数组,里面都是由众多对象组成
② 有一个小数组,里面也是由众多对象组成
③ 大数组包含小数组,即小数组里面的对象在大数组里都能找到
④ 大数组去掉与小数组重复的部分
代码:
var obj1 =[
{name:'xiaoming',age:'13'},
{name:'xiaowang',age:'14'},
{name:'xiaozhang',age:'15'},
{name:'xiaozhao',age:'16'},
{name:'xiaoyu',age:'17'},
];
var obj2 =[
{name:'xiaoming',age:'13'},
{name:'xiaowang',age:'14'},
];
for(var i of obj2){
var eq = false;
for(var j of obj1){
var q = 0;
if(Object.keys(i).length == Object.keys(j).length && Object.keys(i).length ==0) {
obj1.splice(obj1.indexOf(j),1);
}
if(Object.keys(j).length > 0){
for(var key in i){
var p = j.hasOwnProperty(key);
if(p){
if(j[key] == i[key]){
q+=1;
}
if(q == Object.keys(i).length){
eq = true;
if(eq){
obj3 = obj1.splice(obj1.indexOf(j),1)
}
}
}
}
}
}
}
console.log(obj1)
缺陷:
①假如obj1里面有2个以上的{}时,且obj2也有{},最终返回结果都会全部删除{},
②未知,欢迎指正