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 相关文章推荐
script的async属性以非阻塞的模式加载脚本
Jan 15 Javascript
jQuery setTimeout传递字符串参数报错的解决方法
Jun 09 Javascript
javascript学习笔记(一)基础知识
Sep 30 Javascript
javascript表格的渲染组件
Jul 03 Javascript
js+css实现回到顶部按钮(back to top)
Mar 02 Javascript
js发送短信倒计时的简单实现方法
Sep 08 Javascript
layer实现弹窗提交信息
Dec 12 Javascript
js事件冒泡与事件捕获详解
Feb 20 Javascript
JavaScript实现树的遍历算法示例【广度优先与深度优先】
Oct 26 Javascript
vue项目部署上线遇到的问题及解决方法
Jun 10 Javascript
Vue内部渲染视图的方法
Sep 02 Javascript
element日历calendar组件上月、今天、下月、日历块点击事件及模板源码
Jul 27 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 return语句另类用法不止是在函数中
2014/09/17 PHP
PHP使用正则表达式获取微博中的话题和对象名
2015/07/18 PHP
yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
2016/01/09 PHP
PHP+JS实现的商品秒杀倒计时用法示例
2016/11/15 PHP
XAMPP升级PHP版本实现步骤解析
2020/09/04 PHP
js实现页面打印功能实例代码(附去页眉页脚功能代码)
2009/12/15 Javascript
推荐20家国外的脚本下载网站
2011/04/28 Javascript
js左右弹性滚动对联广告代码分享
2014/02/19 Javascript
完美兼容各大浏览器的jQuery仿新浪图文淡入淡出间歇滚动特效
2014/11/12 Javascript
JS 滚动事件window.onscroll与position:fixed写兼容IE6的回到顶部组件
2016/10/10 Javascript
JS对象序列化成json数据和json数据转化为JS对象的代码
2017/08/23 Javascript
node通过express搭建自己的服务器
2017/09/30 Javascript
JavaScript模板引擎应用场景及实现原理详解
2018/12/14 Javascript
[04:36]DOTA2国际邀请赛 ti3精彩集锦
2013/08/19 DOTA
[01:05]主宰至宝剑心之遗
2017/03/16 DOTA
[00:55]深扒TI7聊天轮盘语音出处3
2017/05/11 DOTA
[42:25]EG vs Spirit Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
Windows上配置Emacs来开发Python及用Python扩展Emacs
2015/11/20 Python
Python用Pillow(PIL)进行简单的图像操作方法
2017/07/07 Python
Python 装饰器使用详解
2017/07/29 Python
Python处理菜单消息操作示例【基于win32ui模块】
2018/05/09 Python
python实现遍历文件夹修改文件后缀
2018/08/28 Python
Flask框架工厂函数用法实例分析
2019/05/25 Python
Python流程控制 if else实现解析
2019/09/02 Python
python常用数据重复项处理方法
2019/11/22 Python
python 实现方阵的对角线遍历示例
2019/11/29 Python
python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
2020/04/24 Python
Python 实现键盘鼠标按键模拟
2020/11/18 Python
matplotlib对象拾取事件处理的实现
2021/01/14 Python
HTML5操作WebSQL数据库的实例代码
2017/08/26 HTML / CSS
什么是Web Service?
2012/07/25 面试题
高一军训的心得体会
2014/09/01 职场文书
2014年重阳节老干部座谈会上的讲话稿
2014/09/25 职场文书
检讨书范文2000字
2015/01/28 职场文书
2015年人事工作总结范文
2015/04/09 职场文书
浅谈pytorch中的dropout的概率p
2021/05/27 Python