js中的iterator坑


我想遍歷map,用iterator

const map = new Map();
//map.set(1,1);
const iterator = map.keys();
console.log(iterator);
let k;
do {
k = iterator.next();
console.log(k.value);
} while(k.done);

 

當map有鍵值對時是好的,但當為空時,死循環

原因:

  map為空時,next()返回值k,k.value=undefined,但k.done=true 這個是瀏覽器的bug?

可以換一種遍歷方式:

for(let item of map) {
console.log(item);
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM