js遍历数组重复值和数组中对象重复值

数组去除重复值:

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; }, []);



希望能帮助到你,谢谢
posted @ 2018-08-04 15:52  记忆中的梦境  阅读(12768)  评论(0编辑  收藏  举报