Javascript Object / Map Ключи и значения Последовательность заказа - PullRequest
0 голосов
/ 28 декабря 2018

Мне нужно получить ключи и значения Объекта в отдельных местах и ​​узнать, соответствует ли порядок, указанный в .keys (), порядку .values ​​()

Мне все равноо порядке относительно того, как они были вставлены.По сути, я просто хочу знать, что .keys () [0] соответствует .values ​​() [0], .keys () [1] соответствует .values ​​() [1] и т. Д.

Нужно ли преобразовывать его в карту, чтобы обеспечить эту параллельную согласованность, или я могу сохранить его как объект?

1 Ответ

0 голосов
/ 28 декабря 2018

Оба параметра Object.keys() и Object.values() указаны одинаково в спецификации:

Object.values ​​

  1. Пусть объект будет?ToObject (O).
  2. Пусть nameList будет?EnumerableOwnPropertyNames (obj, "значение").
  3. Возврат CreateArrayFromList (nameList).

Object.keys

  1. Let objбыть?ToObject (О).
  2. Пусть nameList будет?EnumerableOwnPropertyNames (obj, "ключ").
  3. Возврат CreateArrayFromList (nameList).

EnumerableOwnPropertyNames указывает порядок:

Упорядочить элементы свойств так, чтобы они находились в том же относительном порядке, который был бы создан итератором, который был бы возвращен, если внутренний метод EnumerateObjectProperties был вызван с O.

Итак, да,порядок должен быть таким же.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...