按常规顺序考虑这个简单的例子:
var mySet = new Set([1,2,3,4,5]);
for(let myNum of mySet) {
console.log(myNum); // output: 1, 2, 3, 4, 5 in sepearte lines
}
从 Set.prototype.values() 或 Set.prototype.entries() 给出的迭代器也是从头到尾。
以相反顺序迭代 Set(或 Map)的解决方案是什么?
原文由 Holger Stitz 发布,翻译遵循 CC BY-SA 4.0 许可协议
无法在 Maps 或 Sets 上获得反向迭代器,正如我在尝试 将最后一项添加到 Set 时发现的那样。所以真正唯一的方法是使用中间数组并将其反转,如下所示:
或者您可以使用这个替代的双向链接 Set 实现: