1.forEach()
该方法没有返回值,等同于for循环
里面是一个回调函数(箭头函数)()=>
item为数组中的每一项
index为数组中item对应的下标
arr为该数组本身
2.map()
该方法有返回值,且返回值与原数组的长度一样,使用方法和回调函数中的参数与forEach()方法的使用和参数一致
里面是一个回调函数(箭头函数)()=>
item为数组中的每一项
index为数组中item对应的下标
arr为该数组本身
3.filter()过滤方法
有返回值,过滤出符合添加的元素
方法中的参数与forEach()方法中的参数一样
4.reduce()
用于将数组元素通过回调函数累加为单个值
let value = arr.reduce((accumulator, currentValue, currentIndex, array) => {
// ...
}, [initialValue]);
reduce()
方法接受两个参数:
1) 回调函数 () =>:包含四个参数:
accumulator
(必需):累计值,初始为initialValue
或数组第一项。currentValue
(必需):当前处理的数组元素。index
(可选):当前元素的索引。array
(可选):原数组对象。
2) 初始值initialValue
(可选):若省略,首次迭代从数组第二项开始(currentValue为
第二项值),accumulator
取第一项值。
执行机制
- 如果没有提供initialValue(无初始值):accumulator取数组中的第一个值(首项),currentValue取数组中的第二个值。reduce 会从索引1的地方开始执行 callback 方法,跳过第一个索引。
- 如果提供了initialValue(有初始值):accumulator取值为initialValue,currentValue取数组中的第一个值。reduce 会从从索引0开始执行 callback 方法
5.some()
判断数组中是否有符合添加的选项,只要有就返回true,一个都没有则返回false
6.every()
判断数组中所以的项是否满足条件,全部满足返回true,否则返回false
7.find()
找到符合条件的项,并返回第一项
8.findIndex()
找到符合条件的项的下标,并返回第一个(符合条件项的下标)
原文链接