前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >js数组去重,去除相同的值

js数组去重,去除相同的值

原创
作者头像
IT工作者
发布2022-01-18 09:13:13
6.1K0
发布2022-01-18 09:13:13
举报
文章被收录于专栏:程序技术知识

ES5实现

JavaScript 1.6 / ECMAScript 5  你可以使用原生的方法filter来实现数组去重。

代码语言:javascript
复制
function onlyUnique(value, index, self) { 
    return self.indexOf(value) === index;
}

// usage example:
var a = ['a', 1, 'a', 2, '1'];
var unique = a.filter( onlyUnique ); // returns ['a', 1, 2, '1']

原生filter方法将会循环遍历数组,并将回调参数传递给onlyUnique函数。

onlyUnique将会检查回调的值是否第一次出现,如果不是,将不会生成到数组中。

此方法不需要任何额外的库,例如jQuery或prototype.js。

该方法也适用于混合类型数组。

对于不支持filter或indexOf方法的旧浏览器,我们可以考虑放弃

开玩笑,大家可以参考一下MDN文档,找到关于filter和indexOf兼容解决方案。

ES6

ES6可以使用Set来实现数组的去重,相比于ES5代码将会变得更加简单。

代码语言:javascript
复制
var myArray = ['a', 1, 'a', 2, '1'];

let unique = [...new Set(myArray)]; 

// unique is ['a', 1, 2, '1']

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ES5实现
  • ES6
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档