6. for of
1. 遍历范围
for…of 循环可以使用的范围包括:
- 数组
- Set
- Map
- 类数组对象,如 arguments 对象、DOM NodeList 对象
- Generator 对象
- 字符串
2. 优势
ES2015 引入了 for..of 循环,它结合了 forEach 的简洁性和中断循环的能力:
- // 例子 6-1
- for (const v of ['a', 'b', 'c']) {
- console.log(v);
- }
- // a b c
- for (const [i, v] of ['a', 'b', 'c'].entries()) {
- console.log(i, v);
- }
- // 0 "a"
- // 1 "b"
- // 2 "c"
3. 遍历 Map
- // 例子 6-2
- let map = new Map(arr);
- // 遍历 key 值
- for (let key of map.keys()) {
- console.log(key);
- }
- // 遍历 value 值
- for (let value of map.values()) {
- console.log(value);
- }
- // 遍历 key 和 value 值(一)
- for (let item of map.entries()) {
- console.log(item[0], item[1]);
- }
- // 遍历 key 和 value 值(二)
- for (let [key, value] of data) {
- console.log(key)
- }