判断数组中两个对象集合是否相等?

简单的判断,转为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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容