微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何修复这个“forEach of undefined”错误?

如何解决如何修复这个“forEach of undefined”错误?

当我尝试运行此代码时得到 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","anlam_sira": "2","anlam": "Yavrusu olan dişi hayvan","gos": "0"
  }
]

解决方法

数组中的某些对象没有 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)
    })
  }
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。