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 相关文章推荐
深入document.write()与HTML4.01的非成对标签的详解
May 08 Javascript
document节点对象的获取方式示例介绍
Dec 24 Javascript
jquery跨域请求示例分享(jquery发送ajax请求)
Mar 25 Javascript
JS实现超简洁网页title标题跑动闪烁提示效果代码
Oct 23 Javascript
Bootstrapvalidator校验、校验清除重置的实现代码(推荐)
Sep 28 Javascript
使用jQuery的ajax方法向服务器发出get和post请求的方法
Jan 13 Javascript
vue-router 学习快速入门
Mar 01 Javascript
详解vue前后台数据交互vue-resource文档
Jul 19 Javascript
详解jquery选择器的原理
Aug 01 jQuery
解决VUE双向绑定失效的问题
Oct 29 Javascript
详解Vue中的watch和computed
Nov 09 Javascript
uniapp开发打包多端应用完整方法指南
Dec 24 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
Zerg兵种介绍
2020/03/14 星际争霸
php购物网站支付paypal使用方法
2010/11/28 PHP
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
2011/06/30 PHP
探讨fckeditor在Php中的配置详解
2013/06/08 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
2020/10/01 PHP
PHP二维数组排序简单实现方法
2016/02/14 PHP
关于PHP转换超过2038年日期出错的问题解决
2017/06/28 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
javascript 隐藏/显示指定的区域附HTML元素【legend】用法
2010/03/05 Javascript
nodejs的require模块(文件模块/核心模块)及路径介绍
2013/01/14 NodeJs
js 点击页面其他地方关闭弹出层(示例代码)
2013/12/24 Javascript
再谈Jquery Ajax方法传递到action(补充)
2014/05/12 Javascript
Nodejs进程管理模块forever详解
2014/06/01 NodeJs
js实现类似MSN提示的页面效果代码分享
2015/08/24 Javascript
Javascript编程之继承实例汇总
2015/11/28 Javascript
jQuery插件HighCharts绘制2D半圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
vue中实现先请求数据再渲染dom分享
2018/03/17 Javascript
利用jqgrid实现上移下移单元格功能
2018/11/07 Javascript
详解Vue源码学习之双向绑定
2019/04/10 Javascript
Vue项目路由刷新的实现代码
2019/04/17 Javascript
微信小程序如何再次获取用户授权的方法
2019/05/10 Javascript
jQuery实现弹幕特效
2019/11/29 jQuery
Vue filter 过滤器、以及在table中的使用介绍
2020/09/07 Javascript
决策树的python实现方法
2014/11/18 Python
进一步探究Python中的正则表达式
2015/04/28 Python
用Python脚本来删除指定容量以上的文件的教程
2015/05/04 Python
CentOS下使用yum安装python-pip失败的完美解决方法
2017/08/16 Python
python的debug实用工具 pdb详解
2019/07/12 Python
Python函数生成器原理及使用详解
2020/03/12 Python
Django使用rest_framework写出API
2020/05/21 Python
adidas澳大利亚官方网站:adidas Australia
2018/04/15 全球购物
JoJo Maman Bébé爱尔兰官网:英国最受欢迎的精品母婴品牌
2020/12/20 全球购物
高中生学习总结的自我评价范文
2013/10/13 职场文书
小学毕业感言50字
2014/02/16 职场文书
搞笑老公保证书
2015/02/26 职场文书
三八节活动主持词
2015/07/04 职场文书