• 数组去重的多种方法


    let arr = [1, 1, 2, 2, 3, 4, 3, 4, 5, 5];

    一、indexOf()方法:

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

    二、ES6的Set:

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

    三、filter()函数:

    let newArr = arr.filter(function (ele, index, self) {
        return self.indexOf(ele) === index;
    })
    console.log(newArr); // [1, 2, 3, 4, 5]
    

      

    四、ES6的includes:

    let newArr = [];
    for (let n of arr) {
        if(!newArr.includes(n)) {
            newArr.push(n)
        } 
    }
    console.log(newArr); // [1, 2, 3, 4, 5]

      

    五、Array.from方法可以将Set结构转为数组:

    function dedupe(array) {
        return Array.from(new Set(array))
    }
    console.log(dedupe(arr)); // [1, 2, 3, 4, 5]
    

      

    六、jQuery的inArray:

    let newArr = [];
    for(let i=0; i<arr.length; i++) {
        if($.inArray(arr[i].newArr) == -1) {
            newArr.push(arr[i])
        }
    }
    console.log(dedupe(arr)); // [1, 2, 3, 4, 5]
    

      

      

  • 相关阅读:
    checkbox的checked事件的javascript使用方法
    JSTL标签API(c)的使用
    radios控件的使用
    验证方法判斷input是否为空
    软件课设Day5
    软件课设Day4
    软件课设Day3
    软件课设Day2
    软件课设Day1
    2019/08/23最新进展
  • 原文地址:https://www.cnblogs.com/a-cat/p/12297764.html
Copyright © 2020-2023  润新知