Как установить/добавить пары ключ-значение на карту, когда значение должно быть списком в Javascript

Я сопоставляю пары ключ-значение, которые:

a => a1
a => a2 
a => a3

b => b1
b => b2 
b => b3

c => c1
c => c2 
c => c3

теперь у меня есть карта:

const myobject = new Map()

Мне нужно установить приведенные выше данные на моей карте таким образом, чтобы каждый ключ имел значение, которое представляет собой список, например:

a => list[a1, a2, a3] 
b => list[b1, b2, b3] 
c => list[c1, c2, c3] 

вот реальный код:

const serviceResponses = new Map();
await Promise.all(allPromise.map(promises => {
   promises.then(promise => promise.map(([stateName, item]) => {
            // below is the part I am trying to set stateName (string)  and 
            // result (it should be an array) into serviceResponses which is a 
            // map. note: result always has the same number of items. in this 
            // example the number of items is 3, but it can be any number. 
            item[0].then(result => {
                        serviceResponses.set(stateName, result);
                });
                return serviceResponses;
           }));

Я просмотрел API-документы Immutablr.js и уже пробовал setIn, set, MergeIn, MergeDeep. Спасибо за помощь


person Samira Arabgol    schedule 03.06.2019    source источник
comment
это две карты? Не могли бы вы уточнить. Я не знаю, что означает сопоставление через пары ключ-значение. Я ценю усилия по визуальному отображению, но иногда лучше просто показать, что представляет собой фактический код. Нам нужно знать, откуда вы берете исходные данные и в какой переменной они хранятся.   -  person zfrisch    schedule 04.06.2019
comment
@zfrisch Я добавил больше информации в вопрос.   -  person Samira Arabgol    schedule 04.06.2019
comment
Я все еще не понимаю, в чем проблема? Что не так с кодом?   -  person dube    schedule 17.06.2019
comment
Я имею в виду, кроме того, что настройка serviceResponse создает новую карту, которую выбрасывают, и что withMutations следует использовать для лучшей производительности.   -  person dube    schedule 18.06.2019


Ответы (1)


Из MDN

Если вам просто интересно, как установить значения, просто выполните:

myobject.set('a', [a1, a2, a3]);
person Kyle P    schedule 03.06.2019
comment
Я не знаю количество элементов в массиве, это может быть любое число - person Samira Arabgol; 04.06.2019