本文介绍在JavaScript中利用Array的filter方法结合indexOf函数来去除数组中的重复元素。filter接收回调函数,通过判断当前元素索引与indexOf返回的首次出现索引是否一致,从而保留唯一元素并过滤掉后续重复项。
JS中使用filter去除Array重复元素的方法
在参考廖雪峰的JavaScript教程时,关注到了filter函数的具体用法。
此处记录一种使用filter实现数组去重的方案。
Filter
filter是数组处理中常用的操作,用于筛选出符合条件的元素并返回剩余部分。
与map()类似,Array的filter()方法也接收一个回调函数。不同之处在于,filter将传入的函数依次作用于每个元素,并根据返回值是true还是false来决定保留或丢弃该元素。
借助filter方法,可以简洁地实现数组去重:
'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中去除数组重复元素的方法,希望能对大家有所帮助。如有疑问欢迎留言,小编会及时回复。感谢对本站的支持!