Я ссылаюсь на сообщение ниже, но не понял его должным образом Посмотреть здесь
Я пытался сделать то же самое, что и этот пост. Единственная проблема заключается в том, что я не знаю, какие ключи и значения указаны заранее. Поэтому мне нужно иметь возможность динамически добавлять и удалять пары ключ-значение, и я не знаю, как этого добиться.
Кто-нибудь знает, как создать этот объект и динамически добавить пары ключ-значение и выполнить над ним грубую операцию?
Я пробовал:
var dict = [{key:"key", value:"value"}];
dict[0].key = "keys";
dict[0].value = "vals";
console.info(dict);
// return null value of dict object.
Так что это не работает. Спасибо
это работает. jsfiddle.net/srycmwjo
Вы можете использовать Map
, developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
Чтобы получить все ключи вашей структуры данных, попробуйте dirct.map(({key}) => key)
в JS6.
да, теперь я могу добавлять новые ключи со значением, но как я могу удалить их динамически?
Вы можете перебирать массив ключей, используя Object.keys(dict), который вернет массив ключей и удалит пару значений ключа, которую вы хотите использовать, используя карту в качестве итератора.
Вы можете использовать карта.
Объект карты имеет функции для динамической установки ключей и значений с помощью .set(key, value)
var dict = new Map();
dict.set("key1", "value1");
dict.set("key2", "value2");
dict.set("key3", "value3");
for (var [key, value] of dict) {
console.info(key + ' = ' + value);
}
Я пробовал динамически использовать .set(key, value) и это работает
var dict = new Map();
dict.set("key1", "value1");
for (var [key, value] of dict) {
console.info(key + ' = ' + value);
}
Вы можете просто попробовать: - dict["key"] = value, вы можете получить все ключи и значения, используя Object.keys(dict) и Object.values(dict).