美文网首页
JavaScript方法对数组元素去重

JavaScript方法对数组元素去重

作者: 游海东 | 来源:发表于2019-12-19 10:05 被阅读0次

1. forEach函数 + indexOf方法

function removeDouble(arr){
    let ns = [];
    arr.forEach(function(item,index,array){
        if(arr.indexOf(item) == index){
            ns.push(item);
        }
    })
    
    return ns;
}

let a = [1,3,4,5,6,2,3,1,4,6,7,8,9,0,2,1,3];
let b = removeDouble(a);
console.log(b);

结果:
[1, 3, 4, 5, 6, 2, 7, 8, 9, 0]

2. for循环语句 + indexOf方法

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

let a = [1,3,4,5,6,2,3,1,4,6,7,8,9,0,2,1,3];
let b = removeDouble(a);
console.log(b);

结果:
[1, 3, 4, 5, 6, 2, 7, 8, 9, 0]

3. filter函数方法

function removeDouble(arr){
    let ns = [];
    ns = arr.filter(function(item,index,array){
        return arr.indexOf(item) == index;
    });
    
    return ns;
}

let a = [1,3,4,5,6,2,3,1,4,6,7,8,9,0,2,1,3];
let b = removeDouble(a);
console.log(b);

结果:
[1, 3, 4, 5, 6, 2, 7, 8, 9, 0]

4. splice方法

function removeDouble(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 a = [1,3,4,5,6,2,3,1,4,6,7,8,9,0,2,1,3];
let b = removeDouble(a);
console.log(b);

结果:
[1, 3, 4, 5, 6, 2, 7, 8, 9, 0]

5. Set方法

function removeDouble(arr){
    let ns = [];
    let set = new Set(arr);
    ns = [...set];
    
    return ns;
}

let a = [1,3,4,5,6,2,3,1,4,6,7,8,9,0,2,1,3];
let b = removeDouble(a);
console.log(b);

结果:
[1, 3, 4, 5, 6, 2, 7, 8, 9, 0]

6. Set方法和Array.from方法

function removeDouble(arr){
    return Array.from(new Set(arr));
}

let a = [1,3,4,5,6,2,3,1,4,6,7,8,9,0,2,1,3];
let b = removeDouble(a);
console.log(b);

结果:
[1, 3, 4, 5, 6, 2, 7, 8, 9, 0]

相关文章

  • JavaScript方法对数组元素去重

    1. forEach函数 + indexOf方法 2. for循环语句 + indexOf方法 3. filter...

  • js手写数组去重

    javascript数组中若存在重复元素,此时我们需要将重复的元素去除,下面我讲介绍一下几种方法进行数组元素去重 ...

  • JavaScript数组去重

    JavaScript中数组的常用操作之数组去重 方法一 方法二

  • 数组去重

    数组去重 JavaScript indexOf() 方法 : https://ww...

  • 2018-05-09数组去重函数

    数组去重 双循环去重 indexOf方法去重1 indexOf方法去重2 相邻元素去重 利用对象属性去重 set与...

  • JavaScript 数组去重的多种方法原理详解

    JavaScript 数组去重的多种方法原理详解 说明 数组去重,这是一个面试经常会遇见的问题,网上讲数组去重的文...

  • JavaScript 数组去重方法

  • JavaScript数组去重方法

    基本方法 -思路:创建一个新数组,遍历原数组,喏遍历的元素在新数组不存在就添加到数组中,反之则忽略 先排序再去重 ...

  • JavaScript数组去重方法

    数组去重 在处理数据的时候,常常需要对数组进行去重操作。这里记下最常用的三种方法。 1. ES6中新增的Set()...

  • js常用方法

    类型判断 数组 对象 去重方法(一) 数组 对象 去重方法(二) 数组(字符串)一个元素出现的次数 删除数组中一个...

网友评论

      本文标题:JavaScript方法对数组元素去重

      本文链接:https://www.haomeiwen.com/subject/voxmnctx.html