for和forEach
- for循环是可以中断循环(利用break语句或return语句),但forEach不可以中断循环
- for循环可以控制循环起点(i初始化的数字决定循环的起点),forEach只能默认从索引0开始
forEach在遍历跑完回调函数后,会隐性让index自增
const array1 = ['a', 'b', 'c']
array1.forEach((element,index) => array1.splice(index,1))
console.log(array1) // ['a', 'b', 'c']
forEach和map
-
forEach和map都不会改变原数组
-
forEach和map里每次执行匿名函数都支持3个参数,参数分别是item(当前每一项),index(索引值),arr(原数组)
-
forEach和map都不会对空数组进行检测,若arr为空数组,则map方法返回的也是一个空数组
-
map方法返回一个新的数组,数组中的元素为原始数组调用函数处理后的值
-
forEach()的执行速度 < map()的执行速度
for in和for of
- for in只能获得对象的键名,不能获得键值
- for of遍历获得键值
- for of不能对象用
- for of 和for in都可以break、continue 和 return 配合使用