我需要在 javascript 中有一个等效的 HashMap 。看来 map 是正确的选择。但是,我需要将 Map 中每对的值设置为数组。例如, 我的 map : key1: 参数1 值1:[1,2,3]
键2:参数2 值2:[3,4,5]
我查看了下一页,但不知道该怎么做。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/has
这样做的目的是我试图在 HTML 页面上提取故事中的数据。基本上,我想使用 HashMap 来组织表中的所有数据。所以每个列名将是 HashMap 的键,列中对应的值将是该键对应的值。
以下是我正在尝试使用的代码:
function (data) {
$.each(data, function (key, value) {
tempData += '<tr>';
tempData += '<td>' + value.name + '</td>';
tempData += '<td>' + value.value + '</td>';
//check whether the key already exists in the map
if (measurementDataMap.get(value.name) == undefined) {
//if the key doesn't exist, the value points to an empty array
measurementDataMap[value.name] = [];
}
measurementDataMap[value.name].push(value.value);
});
我不知道如何为新对的值创建一个空数组。谢谢!
最佳答案
在您的代码中,您混合了属性访问语法和 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);
关于javascript - 在 Javascript 中将数组设置为 Map 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55464834/