博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Array去重探究
阅读量:4655 次
发布时间:2019-06-09

本文共 784 字,大约阅读时间需要 2 分钟。

如何高效简洁地去重?从下面两个角度考虑:

1.借助js对象key唯一的特性去重

2.借助Array自身方法遍历、操作Array

 

第一种方法最简洁,局限是使用了Array自身方法就必须承受filter不改变原数组的特点。

 

1              function uniq1(arr){ 2                 var obj = {}; 3                 return arr.filter(function(item,index,arr){ 4                     if(obj.hasOwnProperty(item)){  //重复了 5                         return false; 6                     } else { 7                         obj[item] = true; 8                         return true; 9                     }10                 });11             }

 

 

所以有了第二种方法,我们自己来对数组筛选,满足一切去重的自定义要求。这里使用splice是对原数组进行元素删除,使得可以改变原数组。删除元素引起数组下标发生变化,所以第六行把i--。这种情况不能使用forEach遍历,因为该方法中的index貌似是只读的。

1         function uniq2(arr){ 2                 var obj = {}; 3                 for(i=0;i

 

转载于:https://www.cnblogs.com/feitan/p/5118558.html

你可能感兴趣的文章
adb命令 判断锁屏
查看>>
推荐一个MacOS苹果电脑系统解压缩软件
查看>>
1035等差数列末项计算
查看>>
CDMA鉴权
查看>>
ASP.NET MVC Identity 兩個多個連接字符串問題解決一例
查看>>
过滤器与拦截器区别
查看>>
第二阶段站立会议7
查看>>
JAVA多线程
查看>>
delphi 更改DBGrid 颜色技巧
查看>>
POJ 2031 Building a Space Station
查看>>
任意阶幻方(魔方矩阵)C语言实现
查看>>
织梦教程
查看>>
杭电多校 Harvest of Apples 莫队
查看>>
C/C++心得-结构体
查看>>
函数名作为参数传递
查看>>
apt-get for ubuntu 工具简介
查看>>
数值计算算法-多项式插值算法的实现与分析
查看>>
day8-异常处理与网络编程
查看>>
Python基础-time and datetime
查看>>
shell脚本练习01
查看>>