遍历数组的主要方法为for、forEach、map、for in、for of。
Array.prototype.forEach()
arr.forEach(callback(currentValue [, index [, array]])[, thisArg])
callback 为数组中每个元素执行的函数,该函数接收一至三个参数。
currentValue 数组中正在处理的当前元素。
index 可选 数组中正在处理的当前元素的索引。
array 可选 正在操作的数组。
thisArg 可选 当执行回调函数callback时,用作this的值。
注意如果使用箭头函数表达式来传入callback,thisArg参数会被忽略,因为箭头函数在词法上绑定了this值。
注意如果想在遍历执行完之前结束遍历,那么forEach与map并不是好的选择。
Array.prototype.map()
arr.map(callback(currentValue [, index [, array]])[, thisArg])
callback 为数组中每个元素执行的函数,该函数接收一至三个参数。
currentValue 数组中正在处理的当前元素。
index 可选 数组中正在处理的当前元素的索引。
array 可选 正在操作的数组。
thisArg 可选 当执行回调函数callback时,用作this的值。
注意如果使用箭头函数表达式来传入callback,thisArg参数会被忽略,因为箭头函数在词法上绑定了this值。
注意map回调函数return的结果组成了新数组的每一个元素,原数组被映射成对应新数组。
for of为ES6新增,其在可迭代对象包括Array,Map,Set,String,TypedArray,arguments对象等等上创建一个迭代循环,调用自定义迭代钩子,并为每个不同属性的值执行语句。
Array.prototype还提供了对于数组的判断与过滤操作,every()、some()、find()、findIndex()、filter()。