JS中去掉array中重复元素的方法


Posted in Javascript onMay 26, 2017

今天看了廖雪峰的js教程,看到了filter的用法。

其中用它来实现去除Array中重复元素的方法在这里记录下来。

Filter

filter是一个常用的操作,它用于把Array的某些元素过滤掉,然后返回剩下的元素。

和map()类似,Array的filter()也接收一个函数。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素。

利用filter,可以巧妙地去除Array的重复元素:

'use strict';
var
  r,
  arr = ['apple', 'strawberry', 'banana', 'pear', 'apple', 'orange', 'orange', 'strawberry'];
  r = arr.filter(function (element, index, self) {
  return self.indexOf(element) === index;
});

因为Array中的indexOf总是返回第一次出现某一个元素的位置,后续的重复元素位置与indexOf返回的位置不相等,因此被filter滤掉了。

以上所述是小编给大家介绍的JS中去掉array中重复元素的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JS数组去重与取重的示例代码
Jan 24 Javascript
Javascript验证上传图片大小[前台处理]
Jul 18 Javascript
jquery基本选择器匹配多个元素的实现方法
Sep 05 Javascript
Angular使用ng-messages与PHP进行表单数据验证
Dec 28 Javascript
JavaScript实现二分查找实例代码
Feb 22 Javascript
详解Angular.js中$http拦截器的介绍及使用
Jul 04 Javascript
vue教程之toast弹框全局调用示例详解
Aug 24 Javascript
微信小程序实现animation动画
Jan 26 Javascript
小程序和web画三角形实现解析
Sep 02 Javascript
小程序怎样让wx.navigateBack更好用的方法实现
Nov 01 Javascript
JavaScript中的函数式编程详解
Aug 22 Javascript
mapboxgl实现带箭头轨迹线的代码
Jan 04 Javascript
React Js 微信禁止复制链接分享禁止隐藏右上角菜单功能
May 26 #Javascript
AngularJS表单验证功能分析
May 26 #Javascript
给Easyui-Datebox设置隐藏或者不可用的解决方法
May 26 #Javascript
vue-cli+webpack在生成的项目中使用bootstrap实例代码
May 26 #Javascript
BootStrap中的Fontawesome 图标
May 25 #Javascript
Vue.js 中的 $watch使用方法
May 25 #Javascript
详解Javascript获取缓存和清除缓存API
May 25 #Javascript
You might like
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
2015/07/31 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
2015/12/23 PHP
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
2020/10/30 PHP
我也种棵OO树JXTree[js+css+xml]
2007/04/02 Javascript
IE和Firefox下event事件杂谈
2009/12/18 Javascript
Javascript实现CheckBox的全选与取消全选的代码
2010/07/20 Javascript
node在两个div之间移动,用ztree实现
2013/03/06 Javascript
js获取元素到文档区域document的(横向、纵向)坐标的两种方法
2013/05/17 Javascript
JavaScript通过正则表达式实现表单验证电话号码
2014/03/07 Javascript
javascript的动态加载、缓存、更新以及复用(一)
2014/06/09 Javascript
原生javascript实现的分页插件pagenav
2014/08/28 Javascript
基于jQuery的JavaScript模版引擎JsRender使用指南
2014/12/29 Javascript
jQuery中noConflict()用法实例分析
2015/02/08 Javascript
基于JS代码实现图片在页面中旋转效果
2016/06/16 Javascript
ES6记录异步函数的执行时间详解
2016/08/31 Javascript
JavaScript获取URL中参数querystring的方法详解
2016/10/11 Javascript
基于JavaScript定位当前的地理位置
2017/04/11 Javascript
jQuery Validate格式验证功能实例代码(包括重名验证)
2017/07/18 jQuery
使用Vue 实现滑动验证码功能
2019/06/27 Javascript
vue 动态组件(component :is) 和 dom元素限制(is)用法说明
2020/09/04 Javascript
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
[49:13]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第一局
2016/02/27 DOTA
详解Python中的多线程编程
2015/04/09 Python
六行python代码的爱心曲线详解
2019/05/17 Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
2019/06/28 Python
Python Opencv任意形状目标检测并绘制框图
2019/07/23 Python
pycharm 快速解决python代码冲突的问题
2021/01/15 Python
css3实现波纹特效、H5实现动态波浪效果
2018/01/31 HTML / CSS
美国眼镜网站:EyeBuyDirect
2017/04/13 全球购物
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
2013/03/30 面试题
英语专业学生个人求职信范文
2014/01/06 职场文书
解除财产保全担保书
2014/05/20 职场文书
跳槽求职信范文
2014/05/26 职场文书
青岛导游词
2015/02/12 职场文书
升职自荐信范文
2015/03/27 职场文书
nginx sticky实现基于cookie负载均衡示例详解
2022/12/24 Servers