3. js数组去重方法

作者: 星星的成长之路 | 来源:发表于2018-04-16 14:50 被阅读0次

数组去重

删除数组中的重复项;
方法一:注意indexOf的兼容
var arr=[1,1,2,2,44,55,3,3];
var arr1=[];
for(var i=0;i<arr.length;i++){
  if(arr1.indexOf(arr[i]) === -1){
    arr1.push(arr[i]);
  }
}
console.log(arr); //Array [ 1, 1, 2, 2, 44, 55, 3, 3 ]
console.log(arr1); //Array [ 1, 2, 44, 55, 3 ]
方法二:修改原数组
var arr=[1,1,2,2,44,55,3,3];
var obj={};
for(var i=0;i<arr.length;i++){
  var current=arr[i];
  if(obj[current]){
   arr.splice(i,1); //删除掉重复的元素,注意数组塌陷啊!
    i--;  //避免数组塌陷,阻止数组跳过去
    continue;
  }
  obj[current]=current;
}
console.log(arr); //Array [ 1, 2, 44, 55, 3 ]
方法二优化:
var arr=[1,1,2,2,44,55,3,3];
var obj={};
for(var i=0;i<arr.length;i++){
  var current=arr[i];
  if(obj[current]){
    arr[i]=arr[arr.length-1];  //把最后一项挪到准备删除的那一项
    arr.length--; //把最后一项删除掉
    i--;  //避免数组塌陷,阻止数组跳过去
    continue;
  }
  obj[current]=current;
}
console.log(arr);

相关文章

  • 3. js数组去重方法

    数组去重 删除数组中的重复项; 方法一:注意indexOf的兼容 方法二:修改原数组 方法二优化:

  • js 数组去重方法

    1、借助ES6[https://so.csdn.net/so/search?q=ES6&spm=1001.2101...

  • js中数组对象去重的方法

    采用数组中的reduce方法,遍历数组,也是通过对象访问属性的方法 参考js中数组对象去重的方法

  • 前端开发备忘录

    js 数组去重的方法 最常用的方式 对象键值法去重 es6 Set方法一键去重 js常见的循环与遍历以及不同循...

  • JS数组去重常见方法分析

    数组去重是开发中经常会遇到的问题,也是面试时经常会考到的。JS实现数组去重可以有多种方法: 一、简单的去重方法 用...

  • 5.18 总结

    1 数组去重 js数组去重的常用方法总结 2 定时器的返回值是定时器的编号 定时器的执行;(全部js代码执...

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

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

  • js数组去重的几种方法

    js去重的几种方法: 1.使用indexOf()方法---[a.检查当前数组是否存在;b.比较数组的下标---(借...

  • ES6数组去重

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

  • JS 数组去重的方法

网友评论

    本文标题:3. js数组去重方法

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