数组去重的七种方法

方法一

function fn0(ary) {
    for(var i=0;i<ary.length;i++){
        for (var j=0;j<i;j++){
           if(ary[i]==ary[j]){
                ary.splice(i,1);
                i--;
            }
        }
    }
    return ary;
};
console.log(fn0(ary));

方法二

function fn1(ary) {
    return ary.map((item,index)=>{
      if(ary.indexOf(item)==ary.lastIndexOf(item)){
           return item;
        }
    });
};
console.log(fn1(ary));

方法三

function fn2(ary) {
    ary.forEach((item,index)=>{
        if(ary.indexOf(item)!==ary.lastIndexOf(item)){
            ary.splice(index,1)
        }
    });
   return ary;
};
console.log(fn2(ary));

方法四

function fn3(ary) {
    let obj={};
    ary.forEach((item)=>{
        obj[item]=item;
    });
    ary=[];
    for (let key in obj){
        ary.push(obj[key])
    }
    return ary
};
console.log(fn3(ary));

方法五

function fn4(ary) {
    return ary.filter((item,index)=>{
        return !ary.slice(0,index).includes(item);
    })
};
console.log(fn4(ary));

方法六

function fn5(ary) {
   return [...new Set(ary)]
};
console.log(fn5(ary));

方法七

function fn6(ary) {
    return Array.from(new Set(ary))
};
console.log(fn6(ary));
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一声令下,我们一群人便踏上了征程,因为我是后来者,故起步与许多人相比“慢”了很多。这个体测是内部的,没有严苛要求,...
    崔洪慶阅读 174评论 0 7