JavaScript高阶函数之filter

2018-11-06  本文已影响0人  wijgat

函数作用

filter用于把Array的某些元素过滤掉,然后返回剩下的元素(原数组不变)
map()类似,Arrayfilter()也接收一个函数。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素。
在一个Array 中只保留奇数:

var arr = [1, 2, 4, 5, 6, 9, 10, 15];
var r = arr.filter(function (x) {
    return x % 2 !== 0;
});
r; // [1, 5, 9, 15]     

元素去重:

var
    r,
    arr = ['apple', 'strawberry', 'banana', 'pear', 'apple', 'orange', 'orange', 'strawberry'];
r = arr.filter(function (element, index, self) {
    return self.indexOf(element) === index;
});
上一篇下一篇

猜你喜欢

热点阅读