zoukankan      html  css  js  c++  java
  • js数组去重

    方案一:

    思路:使用ES6新增的set数据解构的去重特性,然后在将生成的set对象转换成数组。

    var arr = [1, 4, 7, 4, 3, 2, 1, 4, 7];
    var newArr = Array.from(new Set(arr));
    console.log(newArr);

    方案二:

    思路:对待去重的数组arr进行for循环遍历,然后在新的数组newArr中去查找当前被遍历的元素arr[i],如果返回值为-1,说明在新的数组中还没有出现过当前被遍历的元素arr[i],则把该元素放到新的数组中。当数组arr遍历完以后,新数组newArr就是去重以后的数组。

    var arr = [1, 4, 7, 4, 3, 2, 1, 4, 7];
    var newArr = [];
    for(var i = 0; i < arr.length; i++) {
    if(newArr.indexOf(arr[i]) === -1) {
    newArr.push(arr[i]);
    }
    }
    console.log(newArr);

    方案三:

    思路该方案和方案2思路相同,只不过是使用reduce方法进行遍历

    var arr = [1, 4, 7, 4, 3, 2, 1, 4, 7];
    var newArr = arr.reduce((newArr, current) => {
    if(newArr.indexOf(current) === -1) {
    newArr.push(current);
    }
    return newArr;
    }, []);
    console.log(newArr);

    个人比较推荐使用方案一,代码简洁,易懂。

  • 相关阅读:
    Java注解
    java反射简单入门
    java泛型反射
    BeanUtils.populate的作用
    适配器模式
    原型模式
    抽象工厂模式
    工厂方法模式
    建造者模式
    单例模式
  • 原文地址:https://www.cnblogs.com/linjiangjin/p/10426004.html
Copyright © 2011-2022 走看看