2015-10-01 1 views

ответ

27

Ближайший вы можете получить:

let object = new Map([ 
    ['foo', 'bar'], 
    ['1', 42] 
]); 

Важные вещи, чтобы заметить:

  1. Свойства объекта идентифицируются строками, в то время как ключи Карта может быть любое значение, поэтому убедитесь, что все ключи строки во входном массиве.
  2. Итерация объекта карты дает записи по порядку вставки. Это не гарантировано для объектов, поэтому поведение может быть другим.
+0

Разумеется, '['1', 42]' должен быть '[1, 42]' или вы сделали его строкой, потому что это было бы тем, кем бы это был объект? – CodingIntrigue

+3

@RGraham - именно это, как я отметил в своем 1-м пункте. – Amit

+0

Пункт 1 не имеет смысла. Если ключи могут быть любыми значениями, то почему я должен убедиться, что они являются строками? – zeroflagL

0

В современных браузерах он может быть столь же просто, как: [? Имеют ли JavaScript имеет Map буквальное обозначение]

new Map(Object.entries(object)) 
Смежные вопросы