在JavaScript中,可以使用数组的filter()
和map()
方法来实现数组过滤和映射的操作。
filter()
方法可以接受一个函数作为参数,该函数将每个数组元素作为输入,并根据要求返回布尔值。如果返回值为true
,则将该元素添加到新数组中。如果返回值为false
,则将该元素排除在新数组之外。以下是一个示例:
const arr = [1, 2, 3, 4, 5];
const filteredArr = arr.filter((num) => {
return num % 2 === 0; // 过滤掉所有奇数
});
console.log(filteredArr); // [2, 4]
map()
方法也可以接受一个函数作为参数,该函数将每个数组元素作为输入,并返回一个新的数组,其中每个元素都基于原始数组的相应元素进行转换。以下是一个示例:
const arr = [1, 2, 3, 4, 5];
const mappedArr = arr.map((num) => {
return num * 2; // 将每个元素乘以2
});
console.log(mappedArr); // [2, 4, 6, 8, 10]
值得注意的是,filter()
和map()
方法都不会修改原始数组,而是返回一个新数组。如果需要改变原始数组,则需要手动对其进行操作。