一、 可枚举和可迭代
-
可枚举(enumerable)
可枚举是对象每个key的一个属性,包含本对象及其原型链上可枚举的key
for…in就是专门遍历可枚举key的,缺点是会遍历到原型链上
-
可迭代(iterable)
可迭代是数组/set/map专有的,专门把本身的value遍历一遍。
for…of就是专门遍历可迭代value的,专门解决for…in问题的
迭代器?
自定义迭代?
对象可迭代?
二、数组的遍历
- forEach和map
map 方法的性能往往优于 forEach 方法。
循环无法中途跳出,break 命令或 return 命令都不能奏效 - some
如果有元素满足条件,return true否则return false
可中途跳出 - every
如果每个元素都满足条件,return true否则return false
- filter
返回符合条件的数组