2026年11月9日 星期一

初探 Iterator.take()

 初探 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()


相關文章與資料

初探 Iterator.drop()

初探 yield

初探 JavaScript 的 Iterator

客製化 JavaScript 的 Iterator


沒有留言:

張貼留言