为 Array 对象添加一个去除重复项的方法
方法一:
Array.prototype.uniq = function () {
var arr= [];
var flag=true;
this.forEach(function(item){
if(item != item){
//这是为了排除NaN的情况
flag && arr.indexOf(item)==-1?arr.push(item) :'';
flag=false;
}else{
arr.indexOf(item)==-1?arr.push(item) :'';
}
});
return arr;
方法二: es6的set去重
Array.prototype.uniq = function () {
return Array.from(new Set(this));
}
方法三
Array.prototype.uniq = function () {
// 从后往前找重复项,避免数组移动元素过多
return [...(new Set(this))]
}
本文探讨了如何为JavaScript的Array对象添加去重功能,提供了三种实现方式:一是使用传统forEach遍历和indexOf检查,二是利用ES6的Set数据结构,三是采用后向前扫描避免数组元素位置改变。这些方法展示了不同场景下优化数组去重的技巧。

1636

被折叠的 条评论
为什么被折叠?



