数组对象去重

题目描述
为 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

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容