数组去重的方法

Methods 1:定义一个新数组,并存放原数组的第一个元素,然后将元素组和新数组的元素对比,若不同则存放在新数组中

function unique(arr) {
    var res = [arr[0]];                         //把数组第一个存入新数组
    for (let i = 0; i < arr.length; i++) {
        let repeat = false;
        for (let k = 0; k < res.length; k++) {
            if (res[k] === arr[i]) {
                repeat = true;
                break;
            }
        }
        if (!repeat) {
            res.push(arr[i]);
        }
    }
    return res;
}

Methods 2:先将原数组排序,在与相邻的进行比较,不同就插入新数组中

function unique(arr) {
    var tempArr = arr.sort();  //对数组进行排序
    var res = [tempArr[0]];      //把数组第一个存入新数组
    for (let i = 0; i < tempArr.length; i++) {
        if (tempArr[i] !== res[res.length - 1]) {
            res.push(tempArr[i]);
        }
    }
    return res;
}

Methods 3:利用对象属性存在的特性,如果对象没有该属性则存入新数组

function unique(arr) {
    var res = [];
    var obj = {};
    for (let i = 0; i < arr.length; i++) {
        if (!obj[arr[i]]) {
            obj[arr[i]] = 1;
            res.push(arr[i]);
        }
    }
    return res;
}

Methods 4:利用indexOf下标判断数组是否含有这个数字

function unique(arr) {
    var res = [];
    for (let i = 0; i < arr.length; i++) {
        if (res.indexOf(arr[i])===-1) {
            res.push(arr[i]);
        }
    }
    return res;
}

Methods 5:利用数组原型对象上的filter和includes方法

function unique(arr) {
    var res = [];
    res = arr.filter(function (item) {
        return res.includes(item) ? '' : res.push(item);
    });
    return res;
}

Methods 6:利用ES6的Set方法

function unique6(arr){
    //Set数据结构,它类似于数组,其成员的值都是唯一的
    return Array.from(new Set(arr)); // 利用Array.from将Set结构转换成数组
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.遍历数组法 最简单的去重方法, 实现思路:新建一新数组,遍历传入数组,值不在新数组就加入该新数组中;注意点:判...
    LuckyS007阅读 574评论 0 3
  • 思路:1.创建一个新的数组存放结果2.创建一个空对象3.for循环时,每次取出一个元素与对象进行对比,如果这个元素...
    6659a0f02826阅读 290评论 0 0
  • 这里总结集中数组去重的方法:自己动手敲一敲,精神一整天!1.第一种方法:(我经常用的,好理解) 利用对数组的进行双...
    殖民_FE阅读 377评论 0 2
  • 【原创啊】 今日心得: 一个人在世上犹如一场旅行,出生即是出发,终点就是死亡。身旁的人、事、物都是路上同行...
    小鸟女士阅读 193评论 0 0
  • 黄堡文化研究 第152期作者:黄卫平编辑:秦陇华 孟原好,乡村第一著。桃之夭夭叶蓁蓁,落英缤纷灼似火,桃源谁不入...
    primates阅读 594评论 0 0

友情链接更多精彩内容