1)陣列arrays
console.log([symbol.iterator])
for(let x of ['a','b'])
console.log(x)
2)字串strings
console.log(""[symbol.iterator])
for(let x of "abc")
console.log(x)
3)map
let map = new map().set('a', 1).set('b', 2);
console.log(map[symbol.iterator]);
for (let pair of map)
4)set
let set = new set().add('a').add('b');
for (let x of set)
5)arguments
function printargs()
}
printargs('a', 'b');
6)typed arrays
7)generators,後面講這個的時候在介紹
然後我們在看看哪些操作符以及表示式中可以操作迭代器
1)陣列解構操作符
let set = new set().add('a').add('b').add('c');//chrome瀏覽器不支援這段**
let [x,y] = set;
let [first, ...rest] = set;
2)for-of迴圈
3)array.from,新新增的陣列靜態方法
array.from(new map().set(false, 'no').set(true, 'yes'))
4)spread操作符
let arr = ['b', 'c'];
['a', ...arr, 'd']
5)map,set建構函式
let map = new map([['uno', 'one'], ['dos', 'two']]);
let set = new set(['red', 'green', 'blue']);
6)promise.all,promise.race引數
7)yield*,後面generators章節中講
可迭代物件 迭代器
一 可以直接作用於for迴圈的資料型別 1.可迭代物件 iterable 1 整合資料型別 list tuple dict set str 2 生成器 generator 3 帶yield的generator函式 2.迭代器 iterator 可以被next 函式呼叫並不斷返回下乙個值的物件。二 如...
迭代器和可迭代
所有的迭代器都是可迭代的 迭代器模式 實現乙個自定義的迭代器模式需要兩個類,分別為實現了 iter 方法的類和通過 iter 返回的迭代器例項類 實現了 iter 和 next 方法 下面例子簡單實現了上述功能。12 3456 78910 1112 1314 1516 1718 1920 2122 ...
迭代器 可迭代物件 迭代器物件
今天的學習內容有 迭代器 可迭代物件 迭代器物件 for迴圈內部原理 生成器和生成器表示式 面向過程程式設計 迭代就是指更新換代的過程,要重複進行,而且每次的迭代都必須基於上一次的結果。我們使用for迴圈的時候就是把元素從容器裡乙個個取出來,這種過程其實就是迭代。迭代器 迭代取值的工具。迭代器的作用...