-
ES5.1标准新增 obj | array.forEach(func)方法,支持函数式编程风格遍历。
-
遍历Array可以采用下标循环,遍历Map和Set无法使用下标。为了统一集合类型,ES6标准引入了新的iterable类型,Array、Map和Set都属于iterable类型。
-
iterable类型的集合可通过ES6提出的for ... of ... 循环来遍历,直接拿到element。
// 遍历Array var a = ['A', 'B', 'C']; for (var x of a) { console.log(x); } // 遍历Set var s = new Set(['A', 'B', 'C']); for (var x of s) { // 遍历Set console.log(x); } // 遍历Map var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]); for (var x of m) { // 遍历Map console.log('key: ' + x[0] + ', value: ' + x[1]); }
-
for ... in ... 适合遍历object,拿到的是对象中的key
-
for ... of ... 适合遍历array,拿到的是数组中的element
网友评论