这篇文章主要介绍了JS中去掉array中重复元素的方法,需要的朋友可以参考下
今天看了廖雪峰的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滤掉了。
Atas ialah kandungan terperinci JS中关于去掉array中重复元素的方法详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!