js数组去重

作者: Aniugel | 来源:发表于2019-08-25 22:17 被阅读0次
1、要求将数组中的0项去掉,将不为0的值存入一个新的数组,生成新的数组

方法一 filter

    var arr = [4, 0, 7, 9, 0, 0, 2, 6, 0, 3, 1, 0];
    console.log(arr.filter((val) => val !== 0))

方法二

    var arr = [4, 0, 7, 9, 0, 0, 2, 6, 0, 3, 1, 0];
    var newArr = []
    arr.forEach((val, index, array) => {
        if (val !== 0) newArr.push(val);
    });
    console.log(newArr)
2、数组[4, 0, 7, 9, 0, 0, 2, 6, 0, 3, 1, 0]去重

方法一 indexOf

    var arr = [4, 0, 7, 9, 0, 0, 2, 6, 0, 3, 1, 0];
    var newArr = []
    arr.forEach(val => {
        // var have = newArr.indexOf(val)
        // if (have === -1) newArr.push(val);
        newArr.indexOf(val) === -1 ? newArr.push(val) : newArr;
    });
    console.log(newArr)

方法二 includes

    var arr = [4, 0, 7, 9, 0, 0, 2, 6, 0, 3, 1, 0];
    var newArr = []
    arr.forEach(val => {
        newArr.includes(val) || newArr.push(val);
       //newArr.includes(val) ? newArr : newArr.push(val);
    });
    console.log(newArr)

方法三 sort

  var arr = [4, 0, 7, 9, 0, 0];
    arr.sort((a, b) => a - b)
    var newArr = [];
    arr.forEach((val, index) => {
        val !== arr[index + 1] && newArr.push(val)
    });
    console.log(newArr)

方法四 set方法推荐 快 简洁

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

方法五 for...of + Object推荐 超快

    var arr = [4, 0, 7, 9, 0, 0, 2, 6, 0, 3, 1, 0];
    var obj = {};
    var newArr = [];
    for (var i of arr) {
        if (!obj[i]) {
            newArr.push(i)
            obj[i] = 1;
        }
    }
    console.log(newArr)

相关文章

  • 数组的去重和数组中对象的去重

    数组中对象去重 方式1 jq方式 方式2 原生js方式 普通数组的去重 方式1 普通的数组去重js 方式2 Se...

  • js数组去重、对象数组去重

    普通数组去重 一、普通数组去重 方法一:遍历数组法 方法二:排序法 方法三:对象法 对象数组去重 方法一:将对象数...

  • js数组去重

    Set结构去重 ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。 向 Se...

  • JS数组去重

    方法1:两层for循环,外层循环原数组,内层循环时进行比较。 方法2:利用对象的属性不能相同的特点去重 方法3:利...

  • js数组去重

  • js数组去重

    1.利用对象的属性唯一性去重 2.利用es6的Set

  • js数组去重

  • js 数组去重

  • JS数组去重

    方法一:遍历数组,建立新数组,利用indexOf判断是否存在于新数组中,不存在则push到新数组,最后返回新数组 ...

  • js数组去重

    方法一 (es6 set方法,简单粗暴) 方法二 创建空数组,用indexOf方法检索,没有的话插入新数组中 方...

网友评论

    本文标题:js数组去重

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