Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用数组动态填充多维数组_Javascript_Arrays_Multidimensional Array - Fatal编程技术网

Javascript 用数组动态填充多维数组

Javascript 用数组动态填充多维数组,javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,我一直在做一些研究,结果一无所获。我需要一个数组来包含可能数量可变的数组。根据下面的例子,你有什么想法吗 var masterArray = []; function PrepData(inVal) { var amt = inVal.split("|"); for (var i = 0; i < amt.length; i++) { // !!!Trouble area!!! masterArray[i].push = amt[i]; }; } 一旦所有1

我一直在做一些研究,结果一无所获。我需要一个数组来包含可能数量可变的数组。根据下面的例子,你有什么想法吗

var masterArray = [];

function PrepData(inVal) {
  var amt = inVal.split("|");
  for (var i = 0; i < amt.length; i++) {
    // !!!Trouble area!!!
    masterArray[i].push = amt[i];
  };
}
一旦所有12个都运行过PrepData,我应该有一个数组,其中包含以下内容:

masterArray[0] == {1, 1, 2, 3, 4, 4, 19, 30, 32, 48, 50, 80}   // All the numbers from the first section
masterArray[1] == {2, 3, 5, 6, 8, 8, 38, 42, 50, 72, 150, 173}   // All the numbers from the second section
masterArray[2] == {1300, 1400, 1450, 1900, 2015, 2020, 3200, 3500, 5000, 6300, 7500, 9000}   // All the numbers from the third section

如果每个月包含一个包含5个部分的字符串,那么masterArray需要能够从[0]到[4],依此类推。上面的问题区域不起作用,因此我显然遗漏了一些东西,但不知道可能是什么。

以下是更新的代码

var masterArray = [];
function PrepData(inVal){
  var amt = inVal.split("|");
  for (i in amt) {
    if(typeof masterArray[i] == 'undefined'){
        masterArray[i] = [];
    }
    masterArray[i].push(amt[i]);
  }
 }
首先需要检查是否在masterArray的每个索引中定义了数组。如果未定义,则需要将其初始化为空数组。然后,您可以按下分割的值,得到相同的结果

masterArray[0] == {1, 1, 2, 3, 4, 4, 19, 30, 32, 48, 50, 80} 
masterArray[1] == {2, 3, 5, 6, 8, 8, 38, 42, 50, 72, 150, 173} 
masterArray[2] == {1300, 1400, 1450, 1900, 2015, 2020, 3200, 3500, 5000, 6300, 7500, 9000}

这里有一个精彩的演示,谢谢!我会尽快测试,但很高兴知道我基本上都在正确的轨道上。
masterArray[0] == {1, 1, 2, 3, 4, 4, 19, 30, 32, 48, 50, 80} 
masterArray[1] == {2, 3, 5, 6, 8, 8, 38, 42, 50, 72, 150, 173} 
masterArray[2] == {1300, 1400, 1450, 1900, 2015, 2020, 3200, 3500, 5000, 6300, 7500, 9000}