filter 函数是 JavaScript 数组的一个方法,它用于创建一个新数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。换句话说,filter 方法会遍历数组中的每一个元素,并对每个元素执行提供的回调函数。如果回调函数对某个元素返回 true,则该元素会被包含在新数组中。如果回调函数返回 false,则该元素不会被包含在新数组中。
以下是 filter 方法的语法:
const newArray = arr.filter(function callback(currentValue[, index[, array]]) {
// 你的条件逻辑
// 返回 true 或 false
}[, thisArg]);
arr:需要被筛选的数组。callback:为数组中每个元素执行的函数,该函数接收一至三个参数:currentValue:数组中当前被处理的元素。index(可选):当前元素的索引。array(可选):调用filter方法的数组本身。
thisArg(可选):执行回调函数时this关键字指向的对象。newArray:返回一个新数组,包含通过测试的所有元素。
示例代码
以下是一个使用 filter 方法从数组中筛选出所有偶数元素的示例:
const numbers = [1, 2, 3, 4, 5, 6];
const evenNumbers = numbers.filter(function(number) {
return number % 2 === 0;
});
console.log(evenNumbers); // 输出: [2, 4, 6]
在这个例子中,filter 方法遍历 numbers 数组,并对每个元素执行回调函数。回调函数检查当前元素是否是偶数(即是否能被 2 整除),如果是,则返回 true,否则返回 false。filter 方法根据回调函数的返回值创建一个新数组 evenNumbers,其中包含所有偶数元素。
你也可以使用箭头函数来简化代码:
const evenNumbers = numbers.filter(number => number % 2 === 0);
这个箭头函数版本与之前的函数版本功能完全相同,但更加简洁。




Comments NOTHING