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