将值附加到 javascript 中具有多个值的键

Append value to key with multiple values in javascript

我有一个结构如下的文本区域:

1|title1|value2
1|title3|value4
1|...
3|title5|value6

我的目标是得到一个键-多值对,这样我就可以在知道键的情况下根据其顺序按需输出每个值(在 for 循环中)。

例如

myArray[1][0][0] = title1
myArray[1][1][1] = value4
myArray[3][0][0] = title5

我可以从这样的东西开始拆分文本区域来创建一个线条对象,但它不包含重复数字的第三维。

var audioArray = {};
var audioTextareaValue = document.getElementById('audioTextarea').value;
    audioTextareaValue.split('\n').forEach(function(x){
    var arr = x.split('|');
    arr[1] && (audioArray[arr[0]] = [arr[1],arr[2]]);
});

我认为您需要检查您的 audioArray(它是一个对象)上是否已经有 属性,然后根据键将新数组推送到列表中。

var audioDict = {};
var audioTextareaValue = document.getElementById('audioTextarea').value;

audioTextareaValue.split('\n').forEach(function(x){
   var arr = x.split('|');

   if ( !arr[0] ){
     return;
   }

   if (audioDict.hasOwnProperty(arr[0])) {
     audioDict[arr[0]].push([arr[1], arr[2]]);
   } else {
     audioDict[arr[0]] = [[arr[1], arr[2]]];
   }

});

demo on jsfiddle