js之数组遍历
- 电脑硬件
- 2025-08-03 12:51:01

js之数组遍历 1、for2、forEach3、map4、filter5、every6、some7、reduce 1、for
可以用来遍历数组、字符串、类数组、DOM节点,可以更改原数组,可以使用break、continue 跳出循环 return 只能在函数内部使用
for(声明循环变量;判断循环条件;更新循环变量){ 循环体 } 2、forEach参数(当前元素,元素下标,原数组) 使用如return只会跳出当前循环,相当于continue, 循环中不能使用break,continue关键字 使用try…catch 跳出循环 无法更改原数组,只能遍历数组,无法遍历对象,对空数组不进行检验
var arr = [10, 11, 12, 13] try { arr.forEach((ls, a, b) => { if (ls == 11) { throw new Error('ww') } console.log(ls) }) } catch (e) { if (e.message !== "ww") throw e } 3、map参数同forEach 无法更改原数组,可以使用return跳出循环或返回新数组 无法更改原数组,只能遍历数组,无法遍历对象,对空数组不进行检验
4、filterfilter()方法会创建一个新的数组,新数组中元素是通过检查指定数组中符合条件的所有元素。
array.filter(function(currentValue,index,arr),thisValue);返回值为数组,没有符合条件则返回空数组 不会对空数组进行检测,不会改变原始数组
5、everyevery()方法用于检测数组中的所有元素是否都满足指定,如果有一项不满足条件,则表达式返回false,剩余的项将不会再次执行检测,如果每一项都符合则返回true
array.every(function(currentValue,index,arr){},thisValue)不会对空数组进行检测,不会改变原始数组
6、somesome()方法用于检测数组中的元素是否满足指定条件,如果有一个元素满足条件,则表达式返回true,剩余的元素则不会执行,如果没有满足条件的元素,则返回false
some.every(function(currentValue,index,arr){},thisValue)不会对空数组进行检测,不会改变原始数组
7、reducereduce()方法对数组中的每一个元素执行一个由你提供的函数,依次执行,将其结果汇总为单个返回值。
array.reduce((prev,cur,index,arr)=>{},initialValue)参数说明:callback 函数(执行数组中每个值的函数,包含四个参数) 1、prev 必需(上一次调用回调返回的值,或者是提供的初始值(initialValue)) 2、cur 必需(数组中当前被处理的元素) 3、index 可选 (当前元素在数组中的索引) 4、arr 可选 (调用 reduce 的数组) initialValue 可选 (表示初始值,作为第一次调用 callback 的第一个参数。) 提供初始值,cur 从数组第一项开始,若不提供初始值,则 cur 从第二项开始执行,对应的第一次 prev是数组第一项的值