我可以做这个:let iter = mySet.values();var val = iter.next();var next = iter.next();while(val.value){ if(!next.done){ // do something that I want to do to the last element } val = next; next = iter.next();}但“下一个”变量似乎很笨拙。有没有更好的办法?当我检查mySet对象时,我看到带有数组值的[[Entries]]键,但是我该如何访问呢?
2 回答
MM们
TA贡献1886条经验 获得超2个赞
您可以使用,while(!next.done)并且next()每个迭代只想使用一次。
要弄清它是否是最后一个值,请将值存储在变量中,然后重新分配next,然后done在处理值之前检查
function* myGen(arr) {
let i = -1;
while (++i < arr.length) {
yield arr[i] * 2;
}
}
const it = myGen([1, 2, 3]);
let next = it.next();
while (!next.done) {
const val = next.value;
next = it.next();
console.log('value:', val, ' is last = ', next.done);
}
console.log('done:', next.done)
慕工程0101907
TA贡献1887条经验 获得超5个赞
添加回答
举报
0/150
提交
取消