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 相关文章推荐
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
Aug 08 Javascript
jQuery 使用手册(七)
Sep 23 Javascript
javascript 3d 逐侦产品展示(核心精简)
Mar 26 Javascript
js实现鼠标感应图片展示的方法
Feb 27 Javascript
javascript封装简单实现方法
Aug 11 Javascript
javascript实现获取浏览器版本、浏览器类型
Dec 02 Javascript
JavaScript使用delete删除数组元素用法示例【数组长度不变】
Jan 17 Javascript
jQuery实现元素的插入
Feb 27 Javascript
vue发送ajax请求详解
Oct 09 Javascript
js中对象和面向对象与Json介绍
Jan 21 Javascript
vue 详情跳转至列表页实现列表页缓存
Mar 27 Javascript
vue element-ui读取pdf文件的方法
Nov 26 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递归调用数组值并用其执行指定函数的方法
2015/04/01 PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
2019/10/11 PHP
解决AJAX中跨域访问出现'没有权限'的错误
2008/08/20 Javascript
博客侧边栏模块跟随滚动条滑动固定效果的实现方法(js+jquery等)
2013/03/24 Javascript
Javascript级联下拉菜单以及AJAX数据验证核心代码
2013/05/10 Javascript
javascript-简单的日历实现及Date对象语法介绍(附图)
2013/05/30 Javascript
js实时获取并显示当前时间的方法
2015/07/31 Javascript
Javascript实现的SHA-256加密算法完整实例
2016/02/02 Javascript
基于JQuery实现图片上传预览与删除操作
2016/05/24 Javascript
Jquery EasyUI Datagrid右键菜单实现方法
2016/12/30 Javascript
基于Bootstrap模态对话框只加载一次 remote 数据的解决方法
2017/07/09 Javascript
Bootstrap Tooltip显示换行和左对齐的解决方案
2017/10/11 Javascript
JavaScript 跨域之POST实现方法
2018/05/07 Javascript
JS实现方形抽奖效果
2018/08/27 Javascript
Vue props 单向数据流的实现
2018/11/06 Javascript
p5.js临摹动态图形实现方法详解
2019/10/23 Javascript
原生js实现贪食蛇小游戏的思路详解
2019/11/26 Javascript
Python lambda和Python def区别分析
2014/11/30 Python
详解Python判定IP地址合法性的三种方法
2018/03/06 Python
python用户管理系统
2018/03/13 Python
PyTorch上搭建简单神经网络实现回归和分类的示例
2018/04/28 Python
python 常见的反爬虫策略
2020/09/27 Python
HTML5制作酷炫音频播放器插件图文教程
2014/12/30 HTML / CSS
HTML5 Canvas中绘制椭圆的4种方法
2015/04/24 HTML / CSS
HTML5 video标签(播放器)学习笔记(一):使用入门
2015/04/24 HTML / CSS
HTML5新增属性data-*和js/jquery之间的交互及注意事项
2017/08/08 HTML / CSS
台湾生鲜宅配:大口市集
2017/10/14 全球购物
任意存:BOXFUL
2018/05/21 全球购物
爱尔兰电脑、家电和家具购物网站:Buy It Direct
2019/07/09 全球购物
英国奢侈品牌时尚购物平台:Farfetch(支持中文)
2020/02/18 全球购物
Feelunique中文官网:欧洲最大化妆品零售电商
2020/07/10 全球购物
小学国庆节活动方案
2014/02/11 职场文书
小学教师师德师风自我剖析材料
2014/09/29 职场文书
试用期旷工辞退通知书
2015/04/17 职场文书
会议简报格式范文
2015/07/20 职场文书
Java由浅入深通关抽象类与接口(上篇)
2022/04/26 Java/Android