初探 Iterator.take()
前言
在之前的 初探 Iterator.drop() 介紹 Iterator.drop() ,這次學習 Iterator.take() ,在此把學習的過程做個紀錄。
內容
範例如下
function* count(){
let curNum = 0;
while(true){
yield curNum++;
}
}
//
let conItor = count().take(3);
for( val of conItor )
console.log( val );
// 0
// 1
// 2
Iterator.take() 的功能與Iterator.drop() 有相似之處,一樣是給的次數,不過 Iterator.drop() 是給次數後下一次的 next() 會執行給的次數,並且之後還是可以 next() ,Iterator.take() 給的次數代表只能執行給的次數,超出次數後會視同結束。範例的 count() 跟 初探 Iterator.drop() 的範例不一樣,是一個無窮迴圈,不要直接使用在 for ... of ,範例給的次數為 3 ,所以 for ... of 後只能數到 2 。
參考資料
[ developer.mozilla.org ] Iterator.prototype.take()
沒有留言:
張貼留言