js遍歷數組重復值和數組中對象重復值
阿新 • • 發佈:2018-08-04
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遍歷數組重復值和數組中對象重復值