【发布时间】:2021-06-17 22:36:50
【问题描述】:
我有一个看起来像这样的 Map 对象:
const myMap = new Map();
myMap.set('a', 1);
myMap.set('b', 2);
myMap.set('c', 3);
myMap.set('d', 4);
我需要能够重新排序,这样,如果有一个特定的键,这个键将是第一个,最初跟随它的那些键应该像以前一样跟随,而最初在它之前的那些将被放在最后,它们的原始订单。
数组示例:
const key = 'c';
const pre = ['a','b','c','d'];
const post = ['c','d','a','b'];
另一个例子:
const key = 'd';
const pre = ['a','b','c','d'];
const post = ['d','a','b','c'];
还有一个:
const key = 'a';
const pre = ['a','b','c','d'];
const post = ['a','b','c','d'];
我想我应该用myMap.keys() 拿到钥匙并重建我的地图,买我的大脑真的很难找出如何处理它以实现我想要的......
任何提示将不胜感激。
【问题讨论】:
-
这能回答你的问题吗? Is it possible to sort a ES6 map object?
-
不是真的,但还是谢谢 ;)。我不是要对其进行排序,而是要按特定顺序对其进行重新排序。
-
很久很久以前,我使用 TypeScript。但是你不能重新分配数字吗?而不是做一个排序?
-
@Wendelin 好吧,我说的是它的元素的插入。 AFAIK,当获取地图的键时,它们的顺序就像插入一样。
-
另外,来自developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…:“Map 中的键以简单、直接的方式排序:Map 对象按照条目插入的顺序迭代条目、键和值。”
标签: javascript