用数组动态填充多维数组
Dynamically fill multidimensional array with arrays
我一直在做一些研究,但没有取得任何进展。在这种情况下,我需要一个数组来包含可能数量可变的数组。根据下面的例子,你有什么想法吗?
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都会运行12次。变量inVal可以包含类似"9|9|0"或"9|123|470|1500|13"的内容。我想做的是在管道上拆分传入值,并将结果存储在amt中。然后,我想将amt中的每个值馈送到masterArray中的各个数组中。好消息是,一旦第一个值为,inVal的长度是恒定的,所以如果12次迭代中的第一次分为3个部分,其他11次也会。为了说明这一点,以下是我期望在给定以下输入的情况下进行的典型运行:
Oct: "1|2|1300"
Nov: "1|3|1400"
Dec: "2|5|1450"
Jan: "3|6|1900"
Feb: "4|8|2015"
Mar: "4|8|2020"
Apr: "19|38|3200"
May: "30|42|3500"
Jun: "32|50|5000"
Jul: "48|72|6300"
Aug: "50|150|7500"
Sep: "80|173|9000"
一旦所有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}
这是js fiddle 中的一个演示
相关文章:
- 如何向JSON数组动态添加属性
- Javascript数组动态
- 使用RequireJS从数组动态加载模块
- 在主要的JavaScript引擎中,在JavaScript关联数组(动态对象属性)中检索/插入的复杂性是多少
- 基于PHP数组动态附加表单
- jQuery:从带有 for 循环的数组动态构建表单
- JSon 数组动态列填充 AngularJs
- 使用 Javascript 创建变量数组(动态,下拉)
- 从数组动态构建表
- Ext 3.4-如何使用本地数组动态填充组合框
- jquery将数组动态地输入到slug
- 用字符串和字符串数组动态填充json对象
- 如何在Meteor中使用数组动态渲染多个模板
- 如何从json字段数组动态创建一个没有jquery的表单
- 用数组动态填充多维数组
- Jquery数组动态初始化
- 根据json创建的2d数组动态填充表
- Knockout:基于未知长度的数组动态创建可观察对象
- 使用数组动态注册事件
- jQuery多维数组(动态键)-不能设置属性undefined