美文网首页
数组去重方法归纳

数组去重方法归纳

作者: _花 | 来源:发表于2018-10-10 16:31 被阅读0次

1.Set

function arr(arr){
    return Array.from(new Set(arr));
  //return Array.prototype.slice.call(new Set(arr));
  //return [].slice.call(new Set(arr));
}

2.filter()

function arr(arr){
  arr.filter(function(value,index,arr){
    return arr.indexOf(value,0) ===  index;
  })

3.indexOf()

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

4.includes()

function arr(arr){
  var array = [];
  for (var i = 0; i < arr.length; i++) {
      if( !array.includes( arr[i]) ) {//includes 检测数组是否有某个值
            array .push(arr[i])
        }
    }
    return array;
}

5.利用for嵌套for,然后splice去重(ES5中最常用)

function arr(arr){
  for(var i=0;i<arr.length;i++){
    for(var j=i+1;j<arr.length;j++){
      if(arr[j] == arr[i]){
        arr.splice(j,1);
        j--;// 必须对j减去1,否则后面的一个元素会被跳过去
      }
    }
  }
  return arr;
}

6.利用sort()

function unique(arr) {
    if (!Array.isArray(arr)) {
        console.log('type error!')
        return;
    }
    arr = arr.sort()
    var arrry= [arr[0]];
    for (var i = 1; i < arr.length; i++) {
        if (arr[i] !== arr[i-1]) {
            arrry.push(arr[i]);
        }
    }
    return arrry;
}

相关文章

  • 数组去重方法归纳

    1.Set 2.filter() 3.indexOf() 4.includes() 5.利用for嵌套for,然后...

  • ES6数组去重

    普通数组去重 方法1 方法2 对象数组去重

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

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

  • Array集结号

    实现数组去重的几种方法 数组去重一 数组去重二 利用数组indexof+push实现数组去重 数组去重三 利用对象...

  • 数组

    数组 数组常用方法 数组去重

  • 数组去重

    分类 非对象数组去重 对象数组去重 分类一 --- 非对象数组去重 方法一: set(es6常用) 方法二:red...

  • 数组对象去重方法:

    数组对象去重方法: // 数组对象去重 ```` toRetry = (arr = []) => { let re...

  • js:数组去重

    数组去重的常见写法: 数组去重封装成方法: es6的数组去重(Array.from):

  • JS实现数组去重常用的六种方法

    双重for循环去重 includes实现数组去重 indexOf实现数组去重 利用set方法去重 ES6 Arra...

  • 数组去重方法

网友评论

      本文标题:数组去重方法归纳

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