JS 数组遍历方法合集
文章目录
- JS 数组遍历方法合集
- 一、for 循环(遍历数组、列表或其他可迭代对象中的元素)
- 二、forEach(不会修改数组本身,而是创建一个新的数组)
- 三、map(不会修改数组本身,而是创建一个新的数组)
- 四、some(不会修改数组本身,返回布尔值,判断是否有元素满足)
- 五、every(不会修改数组本身,返回布尔值,判断所有元素是否都满足)
- 六、filter(不会修改数组本身,而是创建一个新的数组,找到第一个满足条件的结束)
- 七、find(不会修改数组本身,返回符合条件的第一个元素)
- 八、findIndex(返回符合条件的第一个元素的索引)
- 九、reduce(累加,从左往右)
- 十、reduceRight(累加,从右往左)
一、for 循环(遍历数组、列表或其他可迭代对象中的元素)
在JavaScript中,for循环是一种常见的控制结构,用于重复执行一段代码。它通常用于遍历数组、列表或其他可迭代对象中的元素。
for…of 循环:用于遍历可迭代对象的元素 (不能用于对象循环)。
for…in 循环:用于遍历对象的属性(索引) (对数组或者对象的属性进行循环操作)。
for…if 循环:结合了 for 和 if 语句,先进行条件判断,如果条件满足则执行循环体。
二、forEach(不会修改数组本身,而是创建一个新的数组)
用于遍历数组中的每个元素并执行提供的函数。这个方法不会修改数组本身,而是创建一个新的数组。
接收回调函数作为参数,这个回调函数会在数组的每个元素上被调用。回调函数接受三个参数:当前元素、当前元素的索引和原始数组。
三、map(不会修改数组本身,而是创建一个新的数组)
map 方法是数组的一个方法,会返回一个新数组,新数组的元素为原始数组元素调用函数处理的后return返回的值。
不会对空数组进行检测,不会改变原始数组
四、some(不会修改数组本身,返回布尔值,判断是否有元素满足)
用于测试数组中是否有元素满足提供的函数中的条件。这个方法会遍历数组的每个元素,并对每个元素执行一次提供的函数。如果该函数对任何一个元素返回 true,则 some 方法立即返回 true。如果没有元素满足条件,则返回 false。
参数说明:
currentValue:数组中正在处理的当前元素。
index(可选):数组中正在处理的当前元素的索引。
array(可选):some 被调用的数组。
不会对空数组进行检测,不会改变原始数组
五、every(不会修改数组本身,返回布尔值,判断所有元素是否都满足)
用于测试数组中的所有元素是否都满足提供的函数中的条件。这个方法会遍历数组的每个元素,并对每个元素执行一次提供的函数。如果该函数对所有元素都返回 true,则 every 方法返回 true。如果有任何元素不满足条件,则返回 false。
参数说明:
currentValue:数组中正在处理的当前元素。
index(可选):数组中正在处理的当前元素的索引。
array(可选):every 被调用的数组。
不会对空数组进行检测,不会改变原始数组
六、filter(不会修改数组本身,而是创建一个新的数组,找到第一个满足条件的结束)
用于返回数组中满足所提供函数的第一个元素的值。如果没有满足条件的元素,则返回 undefined。这个方法只遍历到找到第一个符合条件的元素为止,不会对整个数组进行遍历。
参数说明:
currentValue:数组中正在处理的当前元素。
index(可选):数组中正在处理的当前元素的索引。
array(可选):filter 被调用的数组。
不会对空数组进行检测,不会改变原始数组,会返回新的数组
七、find(不会修改数组本身,返回符合条件的第一个元素)
用于创建一个新数组,包含通过所提供函数实现的所有元素。这个方法会遍历数组的每个元素,并对每个元素执行一次提供的函数。如果该函数对某个元素返回 true,则该元素被包含在返回的新数组中***(返回符合条件的第一个元素)***。
参数说明:
currentValue:数组中正在处理的当前元素。
index(可选):数组中正在处理的当前元素的索引。
array(可选):find 被调用的数组。
不会对空数组进行检测,不会改变原始数组
八、findIndex(返回符合条件的第一个元素的索引)
返回数组中满足提供的函数的 第一个元素 的 索引 。如果没有满足条件的元素,则返回 -1
参数说明:
currentValue:数组中正在处理的当前元素。
index(可选):数组中正在处理的当前元素的索引。
array(可选):.findIndex()被调用的数组。
九、reduce(累加,从左往右)
用于将数组中的元素通过指定的函数简化为单个输出值,根据条件累加,对于空数组是不会执行回调函数的(从左往右)
参数说明:
accumulator(累加器):在每次迭代中,都会将上一次迭代返回的值作为第一个参数传入,与当前元素一起执行函数,并更新累加器的值。
currentValue:数组中正在处理的当前元素
array(可选):reduce 被调用的数组。
initialValue(可选):作为第一次调用回调函数的第一个参数的值。如果没有提供初始值,则从数组的第一个元素开始处理。
十、reduceRight(累加,从右往左)
用于从数组的右侧开始将元素通过指定的函数简化为单个输出值
参数说明:
accumulator(累加器):在每次迭代中,都会将上一次迭代返回的值作为第一个参数传入,与当前元素一起执行函数,并更新累加器的值。
currentValue:数组中正在处理的当前元素
array(可选):reduceRight 被调用的数组。
initialValue(可选):作为第一次调用回调函数的第一个参数的值。如果没有提供初始值,则从数组的最后一个元素开始处理。