为 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))]
}