-
filter
:-
filter
方法用于筛选数组中的元素,返回一个新的数组,新数组包含满足指定条件的原数组元素。 -
它接受一个回调函数作为参数,该回调函数会对数组中的每个元素进行评估,如果回调函数返回
true
,则该元素将被包含在新数组中,否则将被排除。
示例:
const numbers = [1, 2, 3, 4, 5] const evenNumbers = numbers.filter(num => num % 2 === 0) // evenNumbers 现在包含 [2, 4]
-
-
map
:-
map
方法用于对数组中的每个元素执行指定的操作,返回一个新的数组,新数组包含对每个元素应用操作后的结果。 -
它接受一个回调函数作为参数,该回调函数会对数组中的每个元素进行操作,并将结果存储在新数组中。
示例:
const numbers = [1, 2, 3, 4, 5] const squaredNumbers = numbers.map(num => num * num) // squaredNumbers 现在包含 [1, 4, 9, 16, 25]
-
-
reduce
:-
reduce
方法用于将数组中的元素累积到一个单一的值中,通过提供一个累积函数来实现。 -
累积函数接受一个累积值和当前元素,并返回更新后的累积值。
reduce
还可以接受一个可选的初始值作为累积值的起始值。
示例:
const numbers = [1, 2, 3, 4, 5] const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0) // sum 现在包含 15
-
-
forEach
:-
forEach
方法用于对数组中的每个元素执行指定的操作,但它不会创建新数组,而是直接对原数组进行操作。
示例:
const numbers = [1, 2, 3, 4, 5] numbers.forEach(num => console.log(num * 2)) // 直接输出 2, 4, 6, 8, 10
-
-
some
和every
:-
some
方法用于检查数组中是否至少有一个元素满足指定条件,返回true
或false
。 -
every
方法用于检查数组中是否所有元素都满足指定条件,返回true
或false
。
示例:
const numbers = [1, 2, 3, 4, 5] const hasEvenNumber = numbers.some(num => num % 2 === 0) // 返回 true const allEvenNumbers = numbers.every(num => num % 2 === 0) // 返回 false
-
这些高阶函数使数组操作更加方便和函数式,它们可以用于各种数据转换和筛选操作,提高了代码的可读性和可维护性。