JavaScript中数组去重的几种方法如下, 这几个函数都可以对简单的一维数组进行去除重复的操作。
注意:请注意数据类型,比如字符串的1和数组1是不一样的,不算重复
一、利用数组的indexOf方法去重 (ES5)
原理:array.indexOf(item, start) 返回数组array中指定元素item的位置,没有则返回-1
var arr = [1, 3, 8, 9, 3, 5, 4, 4, 6, 6, 2]; function unique(arr) { var len = arr.length; var temp = []; // 新建一个数组来存放arr中的值 for (var i = 0; i < len; i++) { if(temp.indexOf(arr[i]) === -1){ temp.push(arr[i]); } } return temp; } // [1, 3, 8, 9, 5, 4, 6, 2] console.log(unique(arr));
二、使用ES6中的 Set 方法去重
原理:ES6 提供了新的数据结构 Set。它似于数组,但它的一大特性就是所有元素都是唯一的,没有重复。
var arr = [1, 3, 8, 9, 3, 5, 4, 4, 6, 6, 2]; function unique(arr) { return Array.from(new Set(arr)); } // [1, 3, 8, 9, 5, 4, 6, 2] console.log(unique(arr));
三、使用ES6中数组的includes 方法去重
原理:ES6 给数组提供了includes方法,判断元素是否在该数组中存在,类似indexOf判断
var arr = [1, 3, 8, 9, 3, 5, 4, 4, 6, 6, 2]; function unique(arr) { var len = arr.length; var temp = []; // 新建一个数组来存放arr中的值 for (var i = 0; i < len; i++) { if(!temp.includes(arr[i])){ temp.push(arr[i]); } } return temp; } // [1, 3, 8, 9, 5, 4, 6, 2] console.log(unique(arr));
转载请注明出处: 皮哈皮阿
本文的链接地址: https://blog.phpat.com/web/512.html
本文最后发布于2020年09月01日13:45
,已经过了1634天没有更新,若内容或图片失效,请留言反馈
-
emlog主题模板 beginning 更新至v2.6.1
最近更新:更新到v2.5.7
2017/08/02
-
element-ui Radio 单选框组件默认值选不中?
请求中为数字/布尔的字段要多加注意,类型问题会导致很多bug出现。
2019/02/12
-
基于emlog开发的微信小程序开源了
基于emlog开发的微信小程序
2018/01/18
-
emlog模版仿小米论坛版本: V2.0
仿小米论坛版本更新V2.0,本次暂时更新这样了,以后会持续更新优化的。
2012/08/07
-
element-ui el-table 表格疯狂抖动跳动不停
element-ui el-table 表格疯狂抖动跳动不停, 这究竟是道德的沦丧还是人性的毁灭.~~
2019/07/11
-
Windows7程序图标无法锁定到任务栏的解决办法
2012/07/19
暂无评论
@戴墨镜的刘备:哈喽,路过点赞。
vue.js组件之手写签名板vue-signature-simple
太好看了,快点更新!太棒了!👍真的很赞!
vue.js组件之手写签名板vue-signature-simple
@子恒:😂躺平吧,世界都跟你没关系
你写得非常清晰明了,让我很容易理解你的观...
Emlog插件RSS订阅器发布
一直到今天,还没10天,我支付宝里仅剩7...
@樊鑫:不支持,仅支持pro版本,可以在...
Beginning-Pro发布,Emlog-Pro + Beginning-Pro, 更Pro