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



希望能幫助到你,謝謝


免責聲明!

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



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