【jQuery】配列で「Cannot read property」エラーが出る場合の対処法

  • 2021年4月9日
  • 2023年5月9日
  • jQuery

めちゃくちゃ苦労したので備忘録に。
jQuery(javascript)にて二次元配列を扱いました。
形としては以下のような感じ。

一番下でnum2に対してエラーが出ます。エラーの内容は

cannot read property ‘1’ of undefined

となっています。

配列で「Cannot read property」エラーが出る場合の対処法

結論から述べてしまうと、配列の添え字に文字列を入れているのがダメっぽいです。
エラーの意味は「undefined」の「’1’」は読み込めないよ!という意味なのですが、
添え字自体が原因でも起こるようですね。

調べてみた感じだと、

  • スコープの対象外(別の関数内で配列を定義している)
  • 二次元配列の場合は宣言の仕方が特殊
  • 配列の存在しない場所にアクセスしている(3つしかないのに、4番目にアクセスする)

といった原因が他にあるようです。
添え字が原因なので3番目のエラーが当てはまってそうですね。

変数の宣言時に「”」をつけないとか、
変数を添え字に代入する際に「parseInt」するなどして回避してください。

もしも色々と弄ってみてダメな場合は、添え字の型を見直してみてくださいね。