题目描述
为 Array 对象添加一个去除重复项的方法
示例1
输入
[false, true, undefined, null, NaN, 0, 1, {}, {}, 'a', 'a', NaN]
输出
[false, true, undefined, null, NaN, 0, 1, {}, {}, 'a']
es6方法
Array.prototype.uniq = function () {
var arr = [...new Set(this)];
return arr;
}
console.log([false, true, undefined, null, NaN, 0, 1, {}, {}, 'a', 'a', NaN].uniq())
Array.prototype.uniq = function () {
var newarr = []
var flag = true
for(var i=0;i<this.length;i++){
if(newarr.indexOf(this[i]) == -1){
if(this[i] != this[i]){ //排除NaN
if(flag){
newarr.push(this[i])
flag = false
}
}else{
newarr.push(this[i])
}
}
}
return newarr
}
