How to prevent TypeScript Record<string, any> from sorting object properties to alphabetical order?
Desired output:
{
"z": 123,
"y": 123,
"x": 123
}
Example
const myArray = ['z', 'y', 'x'];
const r: Record<string, any> = {};
for (propKey of myArray)
r[propKey] = 123;
Output:
{
"x": 123,
"y": 123,
"z": 123
}
Solution 1:
From MDN
Although the keys of an ordinary Object are ordered now, this was not always the case, and the order is complex. As a result, it's best not to rely on property order.
Alternatives
-
Array
-
Maps, you can use map to iterate and its entries are ordered