如何在javascript中创建二维数组并使用用户输入的值加载它?
var b;
b = new Array( 3 ); // allocate rows
b[ 0 ] = new Array( 3 ); // allocate columns for row 0
b[ 1 ] = new Array( 3 ); // allocate columns for row 1
b[2]= new Array(3);
答案 0 :(得分:1)
如何创建2D数组:How can I create a two dimensional array in JavaScript?
从用户输入加载值:基本上使用
b[0][0] = myInput00;
b[0][1] = myInput01;
...等。等
使用for循环可能更有条理,即
for (var i=0;i<input.length;i++)
{
for (var j = 0; j < input.height; j++)
{
b[i][j] = input[i][j];
}
}
输入[i] [j]替换为输入已格式化。根据输入格式,答案明显略有不同,但这是一般模式。
编辑:如果输入是固定的3x3框,您可能只是将所有表格单元格指定为单独的div或spans,并分配每个数组索引(b [0] [0],b [0] [1反过来。)等。
答案 1 :(得分:0)
多种语言的多维数组只是数组中的数组。
// Create an array with 4 elements.
var b = [1, [2, 3], [4, [5, 6], 7], 8];
console.log(b.length); // 4
// Looping through arrays
for(var i=0; i<b.length; i++){
// b[0] = 1
// b[1] = [2, 3]
// b[2] = [4, Array[2], 7]
// b[3] = 8
console.log("b["+i+"] =", b[i]);
}
// Since b[1] is an array, ...
console.log(b[1][0]); // First element in [2, 3], which is 2
// We can go deeper.
console.log(b[2][1]); // [5, 6]
console.log(b[2][1][0]); // 5
// We can change entries, of course.
b[2][1][0] = 42;
console.log(b[2][1][0]); // 42
b[1] = ['a', 'b', 'c'];
console.log(b[1][0]); // "a"
因此,制作3乘3矩阵可以这样做:
var b = [];
for(var i=0; i<3; i++){
b[i] = [];
for(var j=0; j<3; j++){
b[i][j] = prompt("b["+(i+1)+","+(j+1)+"] = ?");
}
}
(当然,这不是最好的方法,但这是最简单的方法。)