我正在寻找一种以相反顺序迭代Set或Map的方法.
按常规顺序考虑这个简单的例子:
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)的解决方案是什么?
没有办法在地图或集合上获得反向迭代器,正如我在尝试将最后一项添加到集合时发现的那样.所以唯一的方法就是使用中间数组并将其反转,如下所示:
var mySet = new Set([1,2,3,4,5]);
for (let myNum of Array.from(mySet).reverse()) {
console.log(myNum);
}