Задать вопрос
@IvanGrishov
Начинающий Frontend разработчик

Почему при объединении двух объектов в один они автоматически сортируются?

Здравствуйте.

Я пытаюсь объединить два объекта в один, но элементы автоматически сортируются. (сначала выводятся свойства, у которых ключи - это Цифры, потом идут свойства, у которых ключи - это буквы). Мне нужно наоборот.

Мне нужен новый объект , где сначала будут идти свойства , у которых ключи - Буквы, а потом уже свойства, у которых ключи - Цифры.

Я пробовал объединять через Object.assign(), spread оператор, но все равно сначала выводяться свойства, у которых ключ - это цифра.

Подскажите пожалуйста, как можно это исправить?

https://jsfiddle.net/IvanGrishov/dskjefa9/1/

659d8324df56b623798522.jpeg
  • Вопрос задан
  • 197 просмотров
Подписаться 1 Простой 6 комментариев
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
По стандарту ECMAScript 2023 список ключей объекта формируется в определённом порядке:

10.1.11.1 OrdinaryOwnPropertyKeys ( O )
The abstract operation OrdinaryOwnPropertyKeys takes argument O (an Object) and returns a List of property keys. It performs the following steps when called:
1. Let keys be a new empty List.
2. For each own property key P of O such that P is an array index, in ascending numeric index order, do
a. Append P to keys.
3. For each own property key P of O such that P is a String and P is not an array index, in ascending chronological order of property creation, do
a. Append P to keys.
4. For each own property key P of O such that P is a Symbol, in ascending chronological order of property creation, do
a. Append P to keys.
5. 5. Return keys.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
IvanU7n
@IvanU7n
nothing interesting here
для обычных объектов никак, Map итерируется в порядке добавления
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы