Есть ли способ динамически добавлять данные на карту в javascript. A map.put(key,value)
? Я использую библиотеки yui для javascript, но ничего там не вижу, чтобы поддержать это.
Динамически добавлять данные в javascript-карту
Ответ 1
Хорошо, что любой объект Javascript сортируется как "карта"
randomObject['hello'] = 'world';
Обычно люди создают простые объекты для этой цели:
var myMap = {};
// ...
myMap[newKey] = newValue;
edit — проблема с наличием явной функции "put" заключается в том, что вам придётся прилагать все усилия, чтобы сама функция не выглядела как часть карты. Это не действительно вещь Javascripty.
13 февраля 2014 г. — современный JavaScript имеет объекты для создания свойств объекта, которые не перечислены, и это довольно легко сделать. Тем не менее, все равно, что свойство "put" , перечислимое или нет, будет требовать имя свойства "put" и сделать его недоступным. То есть, существует еще одно пространство имен для каждого объекта.
Ответ 2
Javascript теперь имеет определенный встроенный объект, называемый Map, вы можете позвонить следующим образом:
var myMap = new Map()
Вы можете обновить его с помощью .set:
myMap.set("key0","value")
Это имеет преимущество методов, которые вы можете использовать для обработки look ups, например, boolean.has
myMap.has("key1"); // evaluates to false
Вы можете использовать это, прежде чем вызывать .get на свой объект Map, чтобы обрабатывать несуществующие ключи