欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

前端-数组去重

程序员文章站 2022-03-07 21:37:55
前端-数组去重1.利用es6 Set去重2.indexOf()去重3.双层嵌套循环,splice删除值4.利用对象的属性不能相同来去重5.es6数组新增includes方法HAC无聊刷刷,兜兜转转大学三年过去了,之前也是一直有想写博客的想法,不过却是由于技术的不到位和对知识的认知不全(该死的拖延症),经过这个一个月的沉淀,终于是写了第一篇博客,对于前端数组去重方法的一些总结。(备注:新手写博客,可能车祸现场!!!)1.利用es6 Set去重利用set来进行去重是es6里最常用的,这种形式的去重很是快速...


HAC无聊刷刷,兜兜转转大学三年过去了,之前也是一直有想写博客的想法,不过却是由于技术的不到位和对知识的认知不全(该死的拖延症),经过这个一个月的沉淀,终于是写了第一篇博客,对于前端数组去重方法的一些总结。(注:新手写博客,可能车祸现场!!!)

1.利用es6 Set去重

利用set来进行去重是es6里最常用的,这种形式的去重很是快速和遍历,代码量也很少。

var arr = [1, 1, 2, 'true', 'true', 0, 0, false, false]
function unique(arr) {
    return Array.from(new Set(arr));
}
let result = unique(arr)
console.log(result);

// [1, 2, "true", 0, false]

2.indexOf()去重

数组的indexOf()方法可返回某个指定的元素在数组中首次出现的位置。调用indexOf方法对原来的数组进行遍历判断,如果元素不在newArr中,则将其push进newArr中,最后将res返回即可获得去重的数组.(判断新创建的数组中是否有arr[i],如果没有indexOf返回-1,并且把arr[i]放入该新数组中)

function unique(arr) {
   if (!Array.isArray(arr)) {
    return
  };
    let newArr = [];
    for (let i = 0; i < arr.length; i++) {
        if (newArr.indexOf(arr[i]) === -1) {
            newArr.push(arr[i])
        }
    }
    return newArr;
}
let result = unique(arr)
console.log(result);

// [1, 2, "true", 0, false]

3.双层嵌套循环,splice删除值

function unique(arr) {
    for (let i = 0; i < arr.length; i++) {
        for (let j = i + 1; j < arr.length; j++) {
            if (arr[i] === arr[j]) {
                arr.splice(j, 1);
                j--;
            }
        }
    }
    return arr
}
let result = unique(arr)
console.log(result); // [1, 2, "true", 0, false]

4.利用对象的属性不能相同来去重

function unique(arr) {
    let arrry = [];
    let obj = {};
    for (let i = 0; i < arr.length; i++) {
        if (!obj[arr[i]]) {
            obj[arr[i]] = 1;
            arrry.push(arr[i]);
        }
    }
    return arrry;
}
let result = unique(arr);
// [1, 2, "true", 0, false]

前端-数组去重

5.es6数组新增includes方法

function unique(arr) {
    let arrry = [];
    for (let i = 0; i < arr.length; i++) {
        if (!arrry.includes(arr[i])) { // 数组中不能包含某个值
            arrry.push(arr[i])
        }
    }
    return arrry;
}
let result = unique(arr);
console.log(result);

基本就先总结上这5种类型,其实还有很多,基本算是常用的吧。

新手上路,请注意,如果有问题,请指点哦,谢谢!!!

本文地址:https://blog.csdn.net/m0_46258749/article/details/107320711