🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
EJS

EJSは、JavaScript用のテンプレートエンジン。HTMLなどのテンプレートテキストにJavaScriptのロジックを記述することができます。また、変数・関数の実行をテンプレートテキスト内に埋め込むことも可能です。

foreach

foreachは、List・Collection・Arrayといったデータ構造の各要素に対して繰り返し処理を実行するために扱われる、制御構造の構文です。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

1回答

23664閲覧

Cannot read property 'forEach' of undefinedと出ます

dof

総合スコア0

EJS

EJSは、JavaScript用のテンプレートエンジン。HTMLなどのテンプレートテキストにJavaScriptのロジックを記述することができます。また、変数・関数の実行をテンプレートテキスト内に埋め込むことも可能です。

foreach

foreachは、List・Collection・Arrayといったデータ構造の各要素に対して繰り返し処理を実行するために扱われる、制御構造の構文です。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2020/12/10 08:01

前提・実現したいこと

node.jsを使いsqlを取得し表示したいと思っています。
ejsでforEachを使おうとしたらCannot read property 'forEach' of undefinedというエラーが出ました。

発生している問題・エラーメッセージ

Cannot read property 'forEach' of undefined

該当のソースコード

ejs

1<ul class="table-body"> 2 <% characters.forEach ((character) => { %> 3 <li> 4 <div class="item-data"> 5 <span class="name-column"><%= character.name %></span> 6 <span class="nickName-column"><%= character.nickName %></span> 7 <span class="gender-column"><%= character.gender.gender %></span> 8 <span class="height-column"><%= character.height %></span> 9 <span class="episode-column"><%= character.episode %></span> 10 <span class="fruit-column"><%= character.characters.fruit %></span> 11 <span class="fruitType-column"><%= character.fruit.fruit %></span> 12 <span class="haki-column"><%= character.haki.haki %></span> 13 <span class="race-column"><%= character.race %></span> 14 <span class="ship-column"><%= character.ship %></span> 15 <span class="belongA-column"><%= character.belongA %></span> 16 <span class="belongB-column"><%= character.belongB %></span> 17 <span class="belongC-column"><%= character.belongC %></span> 18 <span class="belongD-column"><%= character.belongD %></span> 19 <span class="birthM-column"><%= character.birthM %></span> 20 <span class="birthD-column"><%= character.birthD %></span> 21 <span class="blood-column"><%= character.blood.blood %></span> 22 <span class="home-column"><%= character.home %></span> 23 <span class="sea-column"><%= character.sea.sea %></span> 24 <span class="love-column"><%= character.love %></span> 25 <span class="hate-column"><%= character.hate %></span> 26 <span class="price-column"><%= character.price %></span> 27 <span class="measurementsB-column"><%= character.measurementsB %></span> 28 <span class="measurementsW-column"><%= character.measurementsW %></span> 29 <span class="measurementsH-column"><%= character.measurementsH %></span> 30 <span class="marineClass-column"><%= character.marineClass.marineClass %></span> 31 32 33 </div> 34 </li> 35 <% }) %> 36 </ul>

試したこと

ejsの書き方の見本をみながら;をつけたりと試してみました。

補足情報(FW/ツールのバージョンなど)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

FKM

2020/12/10 09:35

ループをかけようとしている配列はcharactersで間違いないですか?
guest

回答1

0

Cannot read property 'forEach' of undefined

このエラーは JavaScript では頻出するエラーです。意味はそのまま 「undefinedforEach というプロパティは読み込めない(存在しない)」ということで、forEachを呼び出しているオブジェクト(今回のケースだとcharacters)がundefinedになっているということです。

なぜcharactersundefinedになっているのかは、提示されているソースだけでは判断できません。charactersの変数名をtypoしていないか?とか、条件によって値が代入されない場合がないか?等確認してみてください。

投稿2020/12/10 11:45

draq

総合スコア2577

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問