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; }, []);
希望能帮助到你,谢谢