- ベストアンサー
Javascriptで二次元配列で高次元の配列サイズを取得する方法を教えてください。
Javascriptで二次元配列で高次元の配列サイズを取得する方法を教えてください。 var data = [ [1,2,3], [4,5,6], [7,8,9] ]; for (var i = 0; i < data.length; i++){ for (var j = 0; j < data[i].length; j++){ <--- ここで lengthのオブジェクトがNullというエラーになります。 alert(data[i][j]); } } よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
再現しません。 検証環境は以下とまったく同じです。 http://oshiete1.goo.ne.jp/qa3101381.html Q3102333.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>実験</title> <style type="text/css"> p{background-color:red;} </style> <script type="text/javascript" src="Q3101381.js"></script> </head> <body> <p onclick="hoge();">ほげ</p> </body> </html> Q3102333.js function hoge(){ var data = [ [1,2,3], [4,5,6], [7,8,9] ]; for (var i = 0; i < data.length; i++){ for (var j = 0; j < data[i].length; j++){ alert(i +":" + j +":" + data[i][j]); } } } 0:0:1 から 2:2:9 まで全て表示されました。
その他の回答 (1)
- himajin100000
- ベストアンサー率54% (1660/3060)
すまん、検証環境張り間違えた こっちのつもりだった。 http://oshiete1.goo.ne.jp/qa3100997.html IE6 on WinXP Pro SP2[EN](VPC) Safari 3.0.1Beta on WinXP Pro SP2[EN](VPC) IE7 on WinXP Pro SP2[JA] Minefield(Firefox 3.0a6pre) on WinXP Pro SP2[JA] Opera 9.21 on WinXP Pro SP2[JA]
お礼
再度試したところ、動作しました。 おさわがせいたしました。 おそらく元のソースでは、 x = data[i];として x.lengthとしていた可能性があります。 が、これでも再度試すと動作しました。 何かスペルミスをしていたかも知れません。