我有一张声明为 的地图var cars = new Map<string, object>();
,其中string
是汽车的型号,其中包含 和 之类的object
信息。year
price
因此,Map
将如下所示:
Map = [
'BMW' => {
id: 123,
price: 2000,
models: {...}
},
'Opel' => {
id: 1234,
price: 3500,
models: {...}
},
....
]
我想按price
字段(asc 或 desc)对所有条目进行排序。
我想不出任何解决方案,因为迭代values
会丢失密钥,并且像我读到的解决方案...cars.entries()
不适用,因为这些值是不可迭代的。
PS 我目前正在使用 TypeScript,但 JS 的解决方案仍然应该适用。
编辑:我尝试将地图转换为数组,如下所示:
const values = Array.from(this.cars.values());
values.sort((a, b) => {
return (a.price < b.price) ? -1 : 1;
});
但是我在重建地图以保持keys
...</p>