js中数组去重的三种方法

数组去重的三种方法:

1、 利用es6中 set类型实现数组去重。

    let arr = [1,2,1,2,3,1,4,'1','2','1','3'];
    console.log([...new Set(arr)]); // [1, 2, 3, 4, "1", "2", "3"]

2、 新建一个空数组,然后循环之前的数组,判断每一项是否新数组里面,不存在的话push到新数组里面。

    let arr = [1,2,1,2,3,1,4,'1','2','1','3'];
    let newArr = [];
    arr.forEach(item => {
        if (newArr.indexOf(item) === -1) {
            newArr.push(item);
        }
    });
    console.log(newArr); // [1, 2, 3, 4, "1", "2", "3"]

3、 利用对象的key值不能重复的特性来实现。(要注意对象的key数据类型,数值型都会自动转为字符串类型)

    let arr = [1,2,1,2,3,1,4,'1','2','1','3'];
    let obj = {};
    let newArr = [];
    arr.forEach(item => {
        if (!obj[item]) {
            obj[item] = 1;
            newArr.push(item);
        }
    });
    console.log(newArr); // [1, 2, 3, 4]

本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):