2017-03-31 5 views
-1

私はいくつかの部分を理解するために失敗し、次のコードがあります。JavaScriptのネスティングのためにループ

var arr = [ 
[1,2], [3,4], [5,6] 
]; 
for (var i=0; i < arr.length; i++) { 
for (var j=0; j < arr[i].length; j++) { 
    console.log(arr[i][j]); 
    } 
} 

ARR [i]のはどういう意味か?私はarr [i]自体が配列であると言われています。それはどうですか? arr [i] [j]の部分で何が起きていますか? arr可変内側アレイ上

+0

'arr [i]' - 'arr'のi番目のインデックスの要素を取得します。 'arr [i] [j]' 'arr [i]'配列から 'j'番目のインデックスの項目を取得します。 – Tushar

+0

デバッガのコードをステップ実行し、 'arr [i]'や 'arr [i] [j]'などの各点で変数を調べます。 'arr [i] 'の意味は、JSについての基本的なチュートリアルの中で、配列について説明します。 –

答えて

1

i可変反復(ネストされた配列)、それは、例えば、のように見える場合arr[2]の場合、arrの内側に3番目の配列を返します(インデックスは0から始まるため)。これは-[5,6]です。ネストされた配列内の要素を反復するため

jスタンド、それはarr[2][1]ようなものである場合 - 61インデックスを持つarr[2]配列内の要素であるので、6を返します。

+0

この回答はあなたを満足させますか? –

0
var arr = [[1,2], [3,4], [5,6]]; 
//position 0  1  2 

//アレイ

array[0] [I] - >リターン - > [1,2]

//配列[I] [J]

array[0][0]

の配列を返します最初の位置の最初の配列の値 - > 1

あなたの場合、配列の長さを繰り返します。その内部では、配列[i]の長さを反復します。 1から6までの値を持つ必要があります。

0

コメントを追加して書き直して、何が起こっているかを説明しようとしました。何が起きているかを理解するまで、コードを試してみてください!

// A 2-dimension array (or "array of arrays"). 
 
// You can think of this as a matrix by row and column. 
 
var arr = [ 
 
//  col 0 col 1 
 
     [ 1,  2], // row 0 
 
     [ 3,  4], // row 1 
 
     [ 5,  6], // row 2 
 
]; 
 

 
// Loop over rows. 
 
for (var r = 0; r < arr.length; r++) { 
 
// The "row" is the array at index r. 
 
var row = arr[r]; 
 
// Loop over columns. 
 
for (var c = 0; c < row.length; c++) { 
 
    // Print the value at row "r" and column "c". 
 
    console.log(`row ${r}, column ${c} = ${row[c]}`); 
 
    } 
 
}

0
var arr = [ [1,2], [3,4], [5,6]]; 

何を持っていることは多次元配列です。これは、配列内の配列を持つ配列であることを意味します。

for (var i=0; i < arr.length; i++) { 

これは、それの内部項目は[1,2]であるためiながらは、arr(この例では3の長さよりも小さいことを意味する[3,4]、および[5,6]合計で3つのアイテムが追加されます)forステートメントにはこれまでどおりの処理を行い、完了するとiに1を加算します。

for (var j=0; j < arr[i].length; j++) { 

長さがarr[i]の場合は同じですが、つまり、iが何であれ、その位置にあるarrの項目を見てください。だからi = 0arr[i] = [1,2]i = 1,arr[i] = [3,4]

console.log(arr[i][j]); 

コンソールへの書き込みarr位置iにおけるアレイからの位置jで見出さアイテム。したがって、i = 0j = 0の場合、コンソールは1となります。0でのarrは[1,2]であり、その配列内の0の位置にある項目は1であるからです。i = 0j = 1の場合は2と表示されます。 i = 1j = 0の場合、コンソールには3と表示されます。

これはあなたにすべてを明確に説明します。

関連する問題