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