最近写小程序碰到很多要进行筛选去重的步骤 在此记录一下方法
var arr = [1,1,2,2,3]
var newArr = arr.filter(function (element, index, self) {
return self.indexOf(element) === index;
});
console.log(newArr);
得到的结果是
后来发现这个办法有很大局限性 比如我的数组要是
[{name:1,age:2},{name:1,age:3}]
这种形式就不起作用了 那么就可以用这种方法
var arr2=[ {a: 1, b: 2}, {a: 1, b: 3}, {a: 2, b: 4} ]; //传入数组以及要去重的对象 function arrayUnique2(arr, key) { var hash = {}; return arr.reduce(function (item, next) { hash[next[key]] ? '' : hash[next[key]] = true && item.push(next); return item; }, []); } console.log(arrayUnique2(arr2, "a"));
得到的结果是