• ベストアンサー

JavaScript で配列の終わりまでループ

JavaScript で配列の終わりまでループを回すには どうしたらいいのでしょう? perl であれば foreach (@test) {  処理 } ですよね。。。test.length; で要素数を取得する以外で 方法はないでしょうか。 new Array を使って、2次元配列(のようなもの) を 作って格納してしまったので、test[0][*], test[1][*] それぞれの要素数を調べたいのです。 現状だと test[0][*], test[1][*] 2つの合計値が 返ってしまいます。

質問者が選んだベストアンサー

  • ベストアンサー
  • peso
  • ベストアンサー率41% (40/97)
回答No.1

2次元配列はどのように作ってますか? JavaScript で2次、3次などの配列を作る場合、少し変わった作り方をします。 まず、はじめに var Table = new Array(); で配列を作成します。 2次元配列にするためには var Table = new Array(); Table[0] = new Array(); Table[1] = new Array();    ・    ・    ・ Table[10] = new Array(); これだと面倒なので、 for (cnt = 0; cnt <= 10; cnt++) Table[cnt] = new Array(); のように作成します。 これで Table.length; を使うと 11 になります。 さらに、その2次元の要素は Table[0].length; Table[1].length; などのようにして取得しますが、このようなことでしょうか?

naru
質問者

お礼

ありがとうございます。 おっしゃるようにして実現できました。 JavaScript の配列の扱いについて少々とまどって いたようです。回答を大いに参考にさせて いただきます。

すると、全ての回答が全文表示されます。

その他の回答 (2)

noname#99638
noname#99638
回答No.3

count = new Array(2) count[0] = new Array(3) count[1] = new Array(4) for(i=0 ; i<count.lenght;i++){ document.write(count[i].length) } ではどうでしょう。

naru
質問者

お礼

回答ありがとうございました。 JavaScript の配列の扱いについて少し間違っていた 認識をしていたようです。回答を大いに参考に させていただきます。

すると、全ての回答が全文表示されます。
  • selene_pl
  • ベストアンサー率49% (102/207)
回答No.2

count = new Array(2); count[0] = count[1] = 0; for( i=0; i<2; i++ ){ j=0;//これはいらないかも for( j in test[i] ){ count[i]++; } } 確認はしてませんが、これで、count配列にそれぞれの要素数が格納されるような気がします。 念のため、参考リンクも見ておいてください。

参考URL:
http://tohoho.wakusei.ne.jp/js/statement.htm#stFor
naru
質問者

お礼

回答ありがとうございます。 JavaScript の配列の扱いについて少々とまどって いたようです。URLと共に大いに参考にさせて いただきます。

すると、全ての回答が全文表示されます。

関連するQ&A