js 数组去重

Posted https://blog.zlevai.com

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 数组去重相关的知识,希望对你有一定的参考价值。

技术分享图片
//第一种方法

var arr = [0, 1, 2, 2, 3, 44, 44, 5, 6];

function uniq(arr) {
    return Array.from(new Set(arr))
}
console.log(uniq(arr))
console.log(arr)

// ES6 
var newArr = (arr) => Array.from(new Set(arr))

console.log(newArr(arr))
console.log(arr)

//第二种方法 ---原生JS的去重方法,借助一个空数组来实现去重
function xyz(arr) {
    let a = [];
    arr.forEach((item, index) => {
        a.indexOf(item) === -1 ? a.push(item) : ‘‘
    })
    return a;
}
console.log(xyz([1, 2, 3, 2, 3]));

//第三种方法 ---数组原型链的去重方法

Array.prototype.uniq = function() {
    let a = [];
    this.forEach((item, index) => {
        a.indexOf(item) === -1 ? a.push(item) : ‘‘
    })
    return a;
}
console.log([1, 2, 1, 3].uniq());

//第四种方法 ---多数组去重 Array.from 两类对象转为真正的数组 类似数组的对象( array-like object )和可遍历( iterable )的对象


function xyz() {
    let a = [];
    for(var i = 0; i < arguments.length; i++) {
        Array.from(arguments[i]).forEach((item, index) => {
            a.indexOf(item) === -1 ? a.push(item) : ‘‘
        })
}
    return a;
}
console.log(xyz([1, 2, ‘a‘, 2, 3], [2, ‘a‘, 1, 5], [6, ‘3‘, 4, 6, 7], [6, 23, 4, 6, 7]));
View Code

 

以上是关于js 数组去重的主要内容,如果未能解决你的问题,请参考以下文章

js 二维数组去重(续)

js数组去重的5种算法实现

js数组去重的几种方法

85JS原生:数组4种去重方法

js数组去重的四种方法

js数组去重的四种方法