數組中多條對象去重方式


var oldArr = [
    {id:1,name:"zhangs",age:18,contact_id:1},
    {id:1,name:"zhangs",age:18,contact_id:2},
    {id:1,name:"zhangs",age:18,contact_id:3},
    {id:1,name:"zhangs",age:18,contact_id:14},
    {id:1,name:"zhangs",age:18,contact_id:3},
    {id:1,name:"zhangs",age:18,contact_id:2},
    {id:1,name:"zhangs",age:18,contact_id:1}
];//原數據數組
var allArr = [];//新數組

1.該方法為jquery方法

$.each(oldArr,function(i,v){
    var flag = true;
    if(allArr.length > 0){
        $.each(allArr,function(n,m){
            if(allArr[n].contact_id == oldArr[i].contact_id){flag = false;};
        });
    };
    if(flag){
        allArr.push(oldArr[i]);
    };
});


2.原生js方法

for(var i=0;i<oldArr.length;i++){
  var flag = true;
  for(var j=0;j<allArr.length;j++){
    if(oldArr[i].id == allArr[j].id){
      flag = false;
    };
  }; 
  if(flag){
    allArr.push(oldArr[i]);
  };
};

 //數組去重
  function unique(arr) {
                        return Array.from(new Set(arr))
                      }
                          


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM