for
for循环是使用临时变量,将长度缓存起来,避免重复获取数组长度,当数组较大时优化效果才会比较明显。for循环没有返回值,会改变原数组
forEach
遍历数组中的每一项,没有返回值,对原数组没有影响,但不支持IE,通过下标也会改变原数组
forOf
for-of 循环是ES6新增特性,for-of 的功能不仅仅用于遍历数组,它还可以 遍历字符串、遍历类数组对象、支持 Map 和 Set 对象遍历
map
map() 的回调函数中支持 return 返回值,相当于把数组中的每一项改变,但并不影响原来的数组,只是相当于把原数组克隆一份,把克隆的这一份的数组中的对应项改变了
filter
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素,主要用于筛选数组。
注意:它不会改变原始数组,但是直接返回一个新数组。
some
some() 是查找数组中是否有满足条件的元素,返回值是布尔值,如果查找到这个元素,就返回 true(有任意一项符合条件即返回true) , 如果查找不到就返回 false。
如果查询数组中唯一的元素,用 some 方法更合适,在 some 里面遇到 return true 就是终止遍历,迭代效率更高。
every
every() 是对数组中的每一项运行给定函数,只有当该函数对每一项返回true,才返回true,否则返回false。
find
find() 方法返回数组中符合测试函数条件的第一个元素。否则返回undefined
findindex
findIndex() 用于找出第一个符合条件的数组成员的位置,如果没有找到返回 -1。