利用filter()函数,巧妙地去除Array中的重复元素

利用filter()函数,巧妙地去除Array中的重复元素

题目出自廖雪峰老师的JavaScript教程:
利用filter()函数,巧妙地去除Array中的重复元素:

'use strict';
var r;
var arr = ['apple', 'strawberry', 'banana', 'pear', 'apple', 'orange', 'orange', 'strawberry'];
r = arr.filter(function (element, index, self) {
    //indexOf()总是返回第一个元素的位置
    //后续的重复元素位置与indexOf()返回的位置不相等,返回false
    return self.indexOf(element) === index;
});
console.log(r.toString());

运行结果:

apple,strawberry,banana,pear,orange

解析:
去除重复元素依靠的是indexOf()总是返回第一个元素的位置,后续的重复元素位置与indexOf()返回的位置不相等,因此被filter()滤掉了。

猜你喜欢

转载自blog.csdn.net/qq_26377547/article/details/85161572