【问题标题】:How can I fix this "forEach of undefined" error? [closed]如何解决此“forEach of undefined”错误? [关闭]
【发布时间】:2021-09-14 14:49:47
【问题描述】:

当我尝试运行此代码时,我得到TypeError: Cannot read property 'forEach' of undefined

for (let Sıra_Numarası = 0; Sıra_Numarası < Anlamlar_Liste.length; Sıra_Numarası++) {
    Anlamlar_Liste[Sıra_Numarası].ozelliklerListe.forEach(Özellik => {
        Tepki_Mesajı.addField(`${Sıra_Numarası + 1}. ${Özellik.tam_adi}`, Anlamlar_Liste[Sıra_Numarası].anlam, true)

        console.log(Özellik.tam_adi)
        console.log(Anlamlar_Liste[Sıra_Numarası].ozelliklerListe)
    })
}

Tepki_Mesajı.addField () 方法用于向 Discord Embed 消息添加新字段,我认为失败就在这里,因为console.log () 工作成功并且我在 JSON API 中获取数据。

API 中Anlamlar_Liste 的值为:

[
  {
    "anlam_id": "4798",
    "madde_id": "9592",
    "anlam_sira": "1",
    "fiil": "0",
    "tipkes": "0",
    "anlam": "Çocuğu olan kadın, ana, valide, kocakarı, mader, nene, aba",
    "gos": "0",
    "ozelliklerListe": [
      {
        "ozellik_id": "19",
        "tur": "3",
        "tam_adi": "isim",
        "kisa_adi": "a.",
        "ekno": "30"
      }
    ]
  },
  {
    "anlam_id": "4799",
    "madde_id": "9592",
    "anlam_sira": "2",
    "fiil": "0",
    "tipkes": "0",
    "anlam": "Yavrusu olan dişi hayvan",
    "gos": "0"
  }
]

【问题讨论】:

  • 检查Anlamlar_Liste[Sıra_Numarası].ozelliklerListe 不是undefined,然后再尝试调用forEach

标签: javascript arrays json foreach


【解决方案1】:

数组中的某些对象没有ozelliklerListe 属性。所以在尝试使用它之前检查一下。

Anlamlar_Liste.forEach(anlamlar => {
  if (anlamlar.ozelliklerListe) {
    anlamlar.ozelliklerListe.forEach(Özellik => {
      Tepki_Mesajı.addField(`${Sıra_Numarası + 1}. ${Özellik.tam_adi}`, Anlamlar_Liste[Sıra_Numarası].anlam, true)
      console.log(Özellik.tam_adi)
      console.log(Anlamlar_Liste[Sıra_Numarası].ozelliklerListe)
    })
  }
});

【讨论】:

  • 成功了,非常感谢! :)
猜你喜欢
  • 2020-07-06
  • 1970-01-01
  • 2019-01-21
  • 1970-01-01
  • 2022-10-18
  • 2019-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多