常用的遍历数组的方法
# forEach
arr.forEach(callback(currentValue [, index [, array]])[, thisArg])
1
forEach() 方法按升序为数组中含有效值的每一项执行一次 callback 函数,那些已删除或者未初始化的项将被跳过(例如在稀疏数组上)。
特点:
- 无法中途退出循环,只能用return退出本次回调,进行下一次回调。
- 它总是返回 undefined值,即使你return了一个值。
# every
检测数组所有元素是否都符合判断条件
array.every(function(currentValue, index, arr), thisValue)
1
# some
数组中的是否有满足判断条件的元素
array.some(function(currentValue, index, arr), thisValue)
1
# filter
过滤原始数组,返回新数组
let new_array = arr.filter(function(currentValue, index, arr), thisArg)
1
# map
对数组中的每个元素进行处理,返回新的数组
let new_array = arr.map(function(currentValue, index, arr), thisArg)
1
# reduce
为数组提供累加器,合并为一个值
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
1
参数:
- total(必须),初始值, 或者上一次调用回调返回的值
- currentValue(必须),数组当前元素的值
- index(可选), 当前元素的索引值
- arr(可选),数组对象本身
# reduceRight
从右至左累加
,这个方法除了与reduce执行方向相反外,其他完全与其一致
# find
用于找出第一个符合条件的数组成员,并返回该成员,如果没有符合条件的成员,则返回undefined。
# findIndex
返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1。
# keys && values && entries
遍历键名、遍历键值、遍历键名+键值。 三个方法都返回一个新的 Array Iterator 对象,对象根据方法不同包含不同的值。