Как сохранить несколько значений в одном ключе в ассоциативном массиве, например, Map? - PullRequest
0 голосов
/ 11 июля 2019

Например, у меня есть ассоциативный массив

let example = new Map([
    ['ex', '1.1','1.2'],
    ['ex2', '1.1', '1.2']
  ]);

Как я могу получить 1.2 от ключа 'ex'?

Ответы [ 2 ]

0 голосов
/ 11 июля 2019

Структура карты похожа на [['key1', 'value1'], ['key2', 'value2']];.Таким образом, вы должны иметь оба 1.1 и 1.2 внутри value.Вы можете поместить их обоих в объект и получить с помощью ключа карты

let example = new Map([
  ['ex', {
    val1: '1.1',
    val2: '1.2'
  }],
  ['ex2', {
    val1: '1.1',
    val2: '1.2'
  }]
]);

let k = (example.get('ex'));
console.log(k.val2)
0 голосов
/ 11 июля 2019

Вы не можете.Вам нужно поместить эти значения в массив и узнать индекс нужного вам элемента:

let example = new Map([
  ['ex', ['1.1', '1.2']],
  ['ex2', ['1.1', '1.2']]
]);

const [, res] = example.get("ex");

console.log(res);

Или, если вы просто хотите получить значение 1.2 из этого конкретного массива без индекса:

let example = new Map([
  ['ex', ['1.1', '1.2']],
  ['ex2', ['1.1', '1.2']]
]);

const res = example.get("ex").find(e => e == "1.2");

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