简单的判断,转为json再进行相等判断
这个可以用于判断来源相同的两个数组集合,如果来源不同可能会造成,比如把obj中某个对象的id和name调换下位置就不行了
obj=[{id:1,name:'a'},{id:2,name:'b'}]
obj2=[{id:1,name:'a'},{id:2,name:'b'}]
obj3=[{id:1,name:'a'},{id:3,name:'c'},{id:3,name:'c'},{id:3,name:'c'}]
obj==obj2;//false
JSON.stringify(obj)==JSON.stringify(obj2);//true
JSON.stringify(obj)==JSON.stringify(obj3);//false
//单独循环里面的object判断
for(var j=0;j < obj.length;j++){
for (var i = 0; i < obj3.length; i++) {
if(JSON.stringify(obj3[i]) == JSON.stringify(obj[j]) ){
tbdata.splice(i,1); //删除两个数组中相同的object
}
}
}
复杂一点的判断
var pd=compare(data[j],tbdata[i]); //返回true则证明两个数组相同
function compare(obj1,obj2){
for(key in obj1){
if(obj2.hasOwnProperty(key)){
if( !Object.is(obj1[key],obj2[key])){
return false;
}
}else{
return false
}
}
return true
}
更复杂的直接上链接吧:https://www.cnblogs.com/-867259206/p/6795354.html