javascript で 2 次元配列を作成し、ユーザー入力からの値をロードするにはどうすればよいですか?
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);
javascript で 2 次元配列を作成し、ユーザー入力からの値をロードするにはどうすればよいですか?
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);
2D 配列の作成方法: JavaScript で 2 次元配列を作成するにはどうすればよいですか?
ユーザー入力からの値のロード: 基本的に使用
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];
}
}
input[i][j] は、入力がフォーマットされています。答えは明らかに入力形式によってわずかに異なりますが、それが一般的なパターンです。
編集: 入力が固定の 3x3 ボックスの場合、すべてのテーブル セルを個別の div またはスパンとして割り当て、各配列インデックス (b[0][0]、b[0][1] など) を割り当てることができます。 ) 順番に。
多くの言語の多次元配列は、配列内の配列にすぎません。
// 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)+"] = ?");
}
}
(もちろん、これは最善の方法ではありませんが、従うのが最も簡単な方法です。)