在Javascript中将数组设置为Map值

时间:2019-04-01 23:15:20

标签: javascript jquery arrays object hashmap

我需要在javascript中具有等效的哈希映射。似乎地图是正确的选择。但是,我需要将Map中每对的值设置为一个数组。例如, myMap: key1:param1 值1:[1、2、3]

key2:param2 值2:[3,4,5]

我看了下一页,但不知道该怎么做。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/has

执行此操作的目的是我试图提取HTML页面中故事中的数据。基本上,我想使用哈希映射来组织表中的所有数据。因此,每个列名称将是哈希映射的键,并且列中的对应值将是与该键对应的值。

以下是我尝试使用的代码:

{{1}}

我不知道如何为新对值创建一个空数组。谢谢!

2 个答案:

答案 0 :(得分:2)

只是一个简单的对象:

transaction_date

要修复当前代码,请执行以下操作:

var param1 = "myParam1", param2 = "myParam2", value1 = [1, 2, 3], value2 = [3, 4, 5];

var myObject = {
  [param1]: value1,
  [param2]: value2
};

console.log(myObject);

答案 1 :(得分:1)

在代码中,您将属性访问语法和Map方法混合使用,请使用以下方法之一:

const measurementDataMap = {};
//...
if(measurementDataMap[value.name] == undefined) {
    measurementDataMap[value.name] = [];
}
measurementDataMap[value.name].push(value.value);

 // OR

const measurementDataMap = new Map;
//...
if(!measurementDataMap.has(value.name))
  measurementDataMap.set(value.name, []);


measurementDataMap.get(value.name).push(value.value);