массив:
const arr = [
{
code: 'sadasd',
order: 1
},
{
code: '11234',
order: 3
}
]
Строим из массива объект:
let obj = {};
arr.forEach(e => {
obj = { ...obj, [e.code]: e };
});
По идее должно быть теперь так:
{
sadasd: {
code: 'sadasd',
order: 1
},
'11234': {
code: '11234',
order: 3
}
}
Но почему-то на выходе получается наоборот. То есть сортировка отображаемого массива строится по ключам объектов, а не так, как объект был записан.
Как сохранить порядок ключей, по которому строится объект?
Юзай Map
объект не предусматривает упорядоченность, его сортировка не гарантируется, порядок полей - на усмотрение интерпретатора или сериализатора. Не надо так делать, это антипаттерн. Есмаскрипт - не пхп.
Привет! Очень легко! При помощи стандартного класса Map
Обсуждают сегодня