我有一个如下所示的 JavaScript 数组
const data =
[
{
id: 19,
date: 01.01.2001,
content: ...
},
{
id: 85,
date: 10.10.2002,
content: ...
},
{
id: 1113,
date: 07.09.2018,
content: ...
},
...
];
最初,数据
在来自服务器时是未排序的。我按日期
对数据
进行排序,并将其保存在数组
中以保留其顺序。
const data =
[
{
id: 1113,
date: 07.09.2018,
content: ...
},
{
id: 85,
date: 10.10.2002,
content: ...
},
{
id: 19,
date: 01.01.2001,
content: ...
},
...
];
但是,使用 id
访问元素将导致对整个数组进行迭代。将它们存储在具有此结构的对象
中
const obj =
{
19: {
date: 01.01.2001,
content: ...,
},
85: {
date: 10.10.2002,
content: ....,
},
1113: {
date; 07.09.2018,
content: ...
}
}
将使访问更容易,但不会排序。
我正在寻找一种不可变的 JS 方法来将数据存储在 Map
中,例如 obj
,但保持其顺序但 date
。 key
应该是 id
。
如何按日期
排序,但保留id
作为键
?
最佳答案
我想您现在已经解决了这个问题。但是 Immutable.orderedMap 似乎对你来说是一个完美的解决方案。
https://immutable-js.github.io/immutable-js/docs/#/OrderedMap
关于javascript - 保持 Immutable JS Map 的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52963565/