也许我没有使用正确的搜索字词,因为我无法找到我想要的内容,但我想在javascript中执行类似下面的操作。我相信问题可能是我试图在一次调用中动态创建并为一个数组赋值,这可能是不允许的,或者我的语法可能是错误的(我来自PHP背景)。
var array = [];
array[key][] = value;
return array;
我正在遍历现有数组,每次遇到一个键时,我都希望将其关联值添加到该键下的新数组中。如果array[key]
尚不存在,我希望它被创建。如果它已经存在,我想要将新值添加到现有array[key]
。我希望最终结果看起来像这样:
array = [
[key1] = [value1, value2, value3, value4],
[key2] = [value1, value2, value3, value4],
...
]
它不一定是一个数组。它可以是一个对象。
答案 0 :(得分:1)
演示代码如下:
var array = [];
function pushToArray(key, value){
var subArray = array[key];
if( typeof subArray == "undefined"){
subArray = [];
array[key] = subArray;
}
subArray.push(value);
return subArray;
}
pushToArray("key1", "value11");
pushToArray("key1", "value12");
pushToArray("key2", "value21");
pushToArray("key2", "value22");
console.log(array);
答案 1 :(得分:0)
您可以使用Array来执行此操作,但看起来Map是您正在寻找的?键可以存储为Map的键,而对于map的对象,可以存储Array Objects。
请查看此链接Javascripy Map Object