【发布时间】:2012-11-30 06:49:55
【问题描述】:
我想在每个第一个元素中创建一个带有索引号的二维数组。
编辑:
到目前为止很多..
@carl:我做了很多函数创建只是为了展示我所做的尝试......
jonhopkins 的想法促成了这一点:
这行得通:
$('#create_indexed_array').click(function() {
var new_array = [[9,9],[9,9],[9,9],[9,9],[9,9]];
for (var i = 0; i < 5; i++) {
new_array[i][0] = i;
}
alert(JSON.stringify(new_array));
});
但这不起作用:
$('#create_indexed_array').click(function() {
var new_array = new Array(new Array());
for (var i = 0; i < 2; i++) {
new_array[0][i] = ""; // create cols
}
for (var i = 1; i < 5; i++) {
new_array[i] = new_array[0]; // create rows
}
for (var i = 0; i < 5; i++) {
new_array[i][0] = i; // set index
}
alert(JSON.stringify(new_array));
});
【问题讨论】:
-
你为什么要做这么多的变量转换和不必要的函数创建?保持简单,你应该得到答案
-
好吧...那你为什么不直接使用“我想做什么”代码块呢?我承认,我对您尝试使用您尝试的代码块到底想要实现什么感到有些困惑。
-
我不确定您所说的“它总是将最后一个循环的值 ('i') 放入单元格中”或“它们似乎仍然引用引用'i'”是什么意思”。使用您的确切代码,我让它输出正确的数字...jsfiddle.net/jonhopkins/sC9T5/1
标签: javascript loops for-loop scope closures