0

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);
4

2 に答える 2

1

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] など) を割り当てることができます。 ) 順番に。

于 2013-10-30T16:00:50.647 に答える
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)+"] = ?");
  }
}

(もちろん、これは最善の方法ではありませんが、従うのが最も簡単な方法です。)

于 2013-10-30T16:02:06.047 に答える