如何实现数组去重?

xiaopengji
  • 631

arr=[{'name':'json'},{"idname":'tom'},{'idname':'bim'},{'name':'json'}];
function removearr(){
arr1=[];}
//不会往下做了;求教大神帮忙

回复
阅读 2.6k
4 个回答
all2005
  • 3.4k
✓ 已被采纳
 var result = {};var arr1 = [];
for(let i=0;i<arr.length;i++){

if(result[JSON.stringify(arr[i])]){
    
  }else{
    result[JSON.stringify(arr[i])] = true;
    arr1.push(arr[i]);
  }
}
 console.log(arr1);
`

不知underscore是否可以

使用js对象字面量key唯一的原则来解决数组去重:

 var obj= {},
     newArr=[],
     keyStr="";
for(var i=0,len=arr.length;i<len;i++){
    keyStr=JSON.stringify(arr[i]);
    if(!obj[keyStr]){
        obj[keyStr]=true;
        newArr.push(arr[i]);
    }
}
宣传栏