1. 程式人生 > >js遍歷數組重復值和數組中對象重復值

js遍歷數組重復值和數組中對象重復值

arr 字符 函數 for UNC res {} 預覽 indexof()

數組去除重復值:

arr.indexOf() 方法返回某個指定字符串值再字符中首次出現的位置,  如果數組中沒有則返回-1
var arr=[2,8,5,0,5,2,6,7,2];
function unique1(arr){
  var result=[];
  for (var i = 0; i < arr.length; i++) {
     if(hash.indexOf(arr[i])==-1){
      resule.push(arr[i]);
     }
  }
  return result;
}

數組中對象去除的重復值得方法:
var arr=[
{id:"45545",text:"管理"},
    {id:"4556545",text:"預覽"},
    {id:"455455",text:"無權限"},
     {id:"45545",text:"管理"}
];
//方法1
var result=[];
var obj={};
for(i=0;i<arr.length;i++)
{
if(!obj[arr[i].id])
{
resule.push(arr[i]);
obj[arr(i).id]=true;
}
}
console.log(result)

   //  方法2:利用reduce方法遍歷數組,reduce第一個參數是遍歷需要執行的函數,第二個參數是item的初始值
       var obj = {};
       arr = arr.reduce
(function(item, next) { obj[next.key] ? ‘‘ : obj[next.key] = true && item.push(next); return item; }, []);


      
//另一種方式
arr = arr.reduce(function(item, next) {;
if(!obj[next.key])
{
item.push(next);
obj[next.key]=true

} return item; }, []);


js遍歷數組重復值和數組中對象重復值