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 相关文章推荐
Ajax一统天下之Dojo整合篇
Mar 24 Javascript
jQuery在IE下使用未闭合的xml代码创建元素时的Bug介绍
Jan 10 Javascript
javascript中with()方法的语法格式及使用
Aug 04 Javascript
JavaScript验证18位身份证号码最后一位正确性的实现代码
Aug 07 Javascript
第二篇Bootstrap起步
Jun 21 Javascript
jQuery查找节点并获取节点属性的方法
Sep 09 Javascript
Ajax和Comet技术总结
Feb 19 Javascript
详解Angular2表单-模板驱动的表单(Template-Driven Forms)
Aug 04 Javascript
Vue中封装input组件的实例详解
Oct 17 Javascript
JavaScript实现职责链模式概述
Jan 25 Javascript
利用angular自动编译andriod APK的绕坑经历分享
Mar 08 Javascript
使用Vant完成通知栏Notify的提示操作
Nov 11 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 COOKIE及时生效的方法介绍
2014/02/14 PHP
PHP中实现crontab代码分享
2015/03/26 PHP
ThinkPHP打水印及设置水印位置的方法
2016/10/14 PHP
laravel框架模板之公共模板、继承、包含实现方法分析
2019/08/30 PHP
CSS+JS构建的图片查看器
2006/07/22 Javascript
js实现简单的星级选择器提交效果适用于评论等
2013/10/18 Javascript
JS实现动态移动层及拖动浮层关闭的方法
2015/04/30 Javascript
讲解JavaScript中for...in语句的使用方法
2015/06/03 Javascript
jquery.gridrotator实现响应式图片展示画廊效果
2015/06/23 Javascript
javascript中异常处理案例(推荐)
2016/10/03 Javascript
微信小程序 icon组件详细及实例代码
2016/10/25 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
详解支持Angular 2的表格控件
2017/01/19 Javascript
很棒的vue弹窗组件
2017/05/24 Javascript
浅谈vue-cli加载不到dev-server.js的解决办法
2017/11/24 Javascript
element-ui中按需引入的实现
2019/12/25 Javascript
jQuery 选择器用法实例分析【prev + next】
2020/05/22 jQuery
js面向对象封装级联下拉菜单列表的实现步骤
2021/02/08 Javascript
python魔法方法-自定义序列详解
2016/07/21 Python
python制作websocket服务器实例分享
2016/11/20 Python
基于Pandas读取csv文件Error的总结
2018/06/15 Python
python try except返回异常的信息字符串代码实例
2019/08/15 Python
django实现后台显示媒体文件
2020/04/07 Python
keras 实现轻量级网络ShuffleNet教程
2020/06/19 Python
python 自动识别并连接串口的实现
2021/01/19 Python
在css3中background-clip属性与background-origin属性的用法介绍
2012/11/13 HTML / CSS
HTML5 本地存储之如果没有数据库究竟会怎样
2013/04/25 HTML / CSS
英国网上自行车商店:Tredz Bikes
2019/10/29 全球购物
司机职责范本
2014/03/08 职场文书
2014教师教育实践活动对照检查材料思想汇报
2014/09/21 职场文书
解除劳动合同证明书
2014/09/26 职场文书
幼儿园小班教师个人工作总结
2015/02/06 职场文书
预备党员考察表党小组意见
2015/06/01 职场文书
青年志愿者活动感想
2015/08/07 职场文书
python入门学习关于for else的特殊特性讲解
2021/11/20 Python
Python IO文件管理的具体使用
2022/03/20 Python