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] 返回新數組