陣列中有多條物件去重方式
阿新 • • 發佈:2018-12-01
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JQ去重</title> </head> <body> <script src="js/jquery-1.11.0.js"></script> <script> //jQuery方式 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 = [];//新陣列 $.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]); }; }); console.log(allArr) // 原生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]); }; }; console.log(allArr) </script> </body> </html>