filter()数组遍历
filter()
方法对源数组的每个元素判断。返回符合要求的元素,并将他们组成一个新的数组特性:
1、filter()不会改变源数组
2、filter()返回新数组
语法:
arr.filter(callback(currentValue [, index [, array]])[, thisArg])
参数:
arr.filter()有三个参数,分别是:
1、arr:被遍历的数组
2、callback(currentValue,index,array){句柄}:回调函数,该回调函数接受三个参数:
A、currentValue:遍历到的当前元素
B、index:为currentValue的索引
C、array:被遍历的数组
3、thisArg:指代遍历中this的值
示例:
let arr = [1, 2,3]
let newArr=arr.filter(function (currentValue, index, ar) {
console.log(currentValue);//遍历打印1,2,3
console.log(index);//遍历打印0,1,2
console.log(ar);//遍历打印三次[1, 2, 3]
console.log(this)//String {"我就是this的值"};遍历打印三次
return ar[index]>2
}, "我就是this的值")
//输出
console.log(arr);//[1, 2,3] 未改变源数组
console.log(newArr);//[3] 返回新数组