Array.filterJavascript(中)使用详解
前言与map类似,数组的筛选器也接收函数。但与map不同,筛选器依次作用于每个元素,并根据是否返回值为真或假决定是否保留或丢弃元素。
实例介绍
例如,在一个数组中,偶数被删除,只有奇数被保留,因此它可以被写。
var arr = { 1, 2, 4,5, 6, 9,10, 15 };
VaR(R = arr.filter函数(x){)
返回x % 2 = 0;
});
r,{ 1, 5, 9,15 }
删除可以以这种方式写入的数组中的空字符串:
var arr = {'a',B,null,定义的C};
VaR(R = arr.filter功能(S){)
返回的(s.trim); / /注:IE9(不包括IE9)以下版本不修剪()方法
});
ARR; / / { A,B,C}
可以看出,利用滤波器的高阶函数,关键是要正确地实现一个过滤函数。
回调
过滤器接收的回调函数实际上有多个参数,通常我们只使用第一个参数来表示数组的元素,回调函数也可以接收另外两个参数,分别表示元素的位置和数组本身:
var arr = {'a',B,C};
VaR(R = arr.filter功能(元素、指数、自我){
console.log(元); / /为了print'a,B,C
console.log(指数); / /为了打印0, 1, 2
console.log(自我); / /自变量arr
返回true;
});
使用筛选器,数组的重复元素可以被巧妙地删除:
VAR r,
ARR = { 'apple ','strawberry ','banana ','pear ','apple ','orange ','orange ','strawberry};
R = arr.filter(功能(元素、指数、自我){
返回self.indexof(元)=指数;
});
console.log(r.tostring());
重复元素的去除主要依靠指标总是返回到第一个元素的位置。随后的重复元素的位置不等于位置返回的索引,所以它是由过滤器过滤掉。
总结
以上是关于Javascript(数组过滤)内容的完善,希望这个内容能为您的学习或工作带来一些帮助,如果有疑问可以交换留言。