今天看了廖雪峰的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中重复元素的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
本文向大家介绍Java数组,去掉重复值、增加、删除数组元素的方法,包括了Java数组,去掉重复值、增加、删除数组元素的方法的使用技巧和注意事项,需要的朋友参考一下 如下所示: 控制台结果: 以上就是小编为大家带来的Java数组,去掉重复值、增加、删除数组元素的方法全部内容了,希望大家多多支持呐喊教程~
用集合 list(set(l)) 用字典 l1 = ['b','c','d','b','c','a','a'] l2 = {}.fromkeys(l1).keys() print l2 用字典并保持顺序 l1 = ['b','c','d','b','c','a','a'] l2 = list(set(l1)) l2.sort(key=l1.index) print l2 列表推导式 l1 =
本文向大家介绍ASP.NET DataTable去掉重复行的2种方法,包括了ASP.NET DataTable去掉重复行的2种方法的使用技巧和注意事项,需要的朋友参考一下 第一种,使用Linq查询表达式,code如下 第二种方法 利用dataview来过滤datatable
本文向大家介绍JS查找数组中重复元素的方法详解,包括了JS查找数组中重复元素的方法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS查找数组中重复元素的方法。分享给大家供大家参考,具体如下: JS的数据类型有一个数组。今天我们就来谈谈对数组的一种处理。相信很多人都遇到过从数组中查找出不重复的元素,但是我遇到的却是从数组中查找出重复的元素。 从js数组中查找出不重复的元素的方法有很多,
本文向大家介绍JS实现数组去重,显示重复元素及个数的方法示例,包括了JS实现数组去重,显示重复元素及个数的方法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS实现数组去重,显示重复元素及个数的方法。分享给大家供大家参考,具体如下: 使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码,可得如
a只保留[1,2]