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 相关文章推荐
jQuery让控件左右移动的三种实现方法
Sep 08 Javascript
当鼠标滑过文本框自动选中输入框内容的JS代码分享
Nov 26 Javascript
jQuery中document与window以及load与ready 区别详解
Dec 29 Javascript
Jquery元素追加和删除的实现方法
May 24 Javascript
JS代码实现根据时间变换页面背景效果
Jun 16 Javascript
Bootstrap弹出带合法性检查的登录框实例代码【推荐】
Jun 23 Javascript
用JS实现图片轮播效果代码(一)
Jun 26 Javascript
JavaScript实现窗口抖动效果
Oct 19 Javascript
javascript垃圾收集机制的原理分析
Dec 08 Javascript
easy ui datagrid 从编辑框中获取值的方法
Feb 22 Javascript
使用JavaScript中的lodash编写双色球效果
Jun 24 Javascript
vue中rem的配置的方法示例
Aug 30 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
PHP邮件专题
2006/10/09 PHP
php+memcache实现的网站在线人数统计代码
2014/07/04 PHP
PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)
2016/09/11 PHP
Yii输入正确验证码却验证失败的解决方法
2017/06/06 PHP
js监听输入框值的即时变化onpropertychange、oninput
2011/07/13 Javascript
使用jQuery UI的tooltip函数修饰title属性的气泡悬浮框
2013/06/24 Javascript
js验证电话号码与手机支持+86的正则表达式
2014/01/23 Javascript
js实现双击图片放大单击缩小的方法
2015/02/17 Javascript
学习JavaScript设计模式之中介者模式
2016/01/14 Javascript
BootStrap中Tab页签切换实例代码
2016/05/30 Javascript
Bootstrap 源代码分析(未完待续)
2016/08/17 Javascript
JavaScript中Math对象的方法介绍
2017/01/05 Javascript
js实现增加数字显示的环形进度条效果
2017/02/05 Javascript
Node.js 8 中的 util.promisify的详解
2017/06/12 Javascript
vue使用iframe嵌入网页的示例代码
2020/06/09 Javascript
详解JSON和JSONP劫持以及解决方法
2019/03/08 Javascript
axios+Vue实现上传文件显示进度功能
2019/04/14 Javascript
Vue自定义多选组件使用详解
2020/09/08 Javascript
vue el-upload上传文件的示例代码
2020/12/21 Vue.js
django的分页器Paginator 从django中导入类
2019/07/25 Python
使用coverage统计python web项目代码覆盖率的方法详解
2019/08/05 Python
基于Django框架的权限组件rbac实例讲解
2019/08/31 Python
python实现根据文件格式分类
2019/10/31 Python
pycharm中import呈现灰色原因的解决方法
2020/03/04 Python
PyQT5 实现快捷键复制表格数据的方法示例
2020/06/19 Python
CSS3绘制有活力的链接下划线
2016/07/14 HTML / CSS
css3旋转木马_动力节点Java学院整理
2017/07/12 HTML / CSS
美国最古老的精致书写工具制造商:A.T. Cross(高仕)
2018/01/30 全球购物
新西兰床上用品和家居用品购物网站:Adairs
2018/04/27 全球购物
大三在校生电子商务求职信
2013/10/29 职场文书
公司员工的自我评价范例
2013/11/01 职场文书
给分销商的致歉信
2014/01/14 职场文书
公司担保书范文
2014/05/21 职场文书
三好学生事迹材料
2014/12/24 职场文书
2015年医德考评自我评价
2015/03/03 职场文书
VS2019连接MySQL数据库的过程及常见问题总结
2021/11/27 MySQL