如何在关联数组(例如Map)的一个键中存储多个值?

时间:2019-07-11 02:42:59

标签: javascript arrays ecmascript-6

例如,我有一个关联数组

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

我如何从键“ ex”中获得1.2?

2 个答案:

答案 0 :(得分:0)

不能。您需要将这些值放置在数组中,并知道所需项目的索引:

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);

答案 1 :(得分:0)

map的结构类似于[['key1', 'value1'], ['key2', 'value2']];。因此,您需要在value中同时包含1.1和1.2。您可以将它们放在一个对象中,然后使用地图键

进行检索

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)