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}