美文网首页
JS数组去重

JS数组去重

作者: 小碗吃不了 | 来源:发表于2019-09-30 15:23 被阅读0次
  • indexOf实现

    var array = [1, 1, '1'];
    function unique(array) {
    var res = [];
    for (var i = 0, len = array.length; i < len; i++) {
      var current = array[i];
      if (res.indexOf(current) === -1) {
          res.push(current)
      }
    }
    return res;
    } 
    console.log(unique(array));
    
  • 排序后去重

    var array = [1, 1, '1'];
    function unique(array) {
    var res = [];
    var sortedArray = array.concat().sort();
    var seen;
    for (var i = 0, len = sortedArray.length; i < len; i++) {
      // 如果是第一个元素或者相邻的元素不相同
      if (!i || seen !== sortedArray[i]) {
          res.push(sortedArray[i])
      }
      seen = sortedArray[i];
    }
    return res;
    }
    
  • filter实现

    var array = [1, 2, 1, 1, '1'];
    function unique(array) {
    var res = array.filter(function(item, index, array){
      return array.indexOf(item) === index;
    })
    return res;
    }
    console.log(unique(array));
    
  • 排序去重

    var array = [1, 2, 1, 1, '1'];
    function unique(array) {
    return array.concat().sort().filter(function(item, index, array){
      return !index || item !== array[index - 1]
    })
    }
    console.log(unique(array))
    
  • Object键值对

    var array = [{value: 1}, {value: 1}, {value: 2}];
    function unique(array) {
    var obj = {};
    return array.filter(function(item, index, array){
      console.log(typeof item + JSON.stringify(item))
      return obj.hasOwnProperty(typeof item + JSON.stringify(item)) ? false : (obj[typeof item+JSON.stringify(item)] = true)
    })
    }
    console.log(unique(array)); // [{value: 1}, {value: 2}]
    
  • ES6 Set实现

    var unique = (a) => [...new Set(a)]

相关文章

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

    数组中对象去重 方式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/vozcpctx.html