Javascript ajax调用中未定义未捕获的错误数据

Javascript ajax调用中未定义未捕获的错误数据,javascript,ajax,Javascript,Ajax,我正在进行一个ajax调用(JavaScript),它通过show info函数生成我正在检索的数据。我的问题如下:在其中一个数组上,一些数据没有它,虽然不多,但仍然有一些。因此,它将显示第一个项目,但当无法检索所述数组并返回一个: 未捕获类型错误:信息[“xxxx”]未定义 我真正希望的是能够使它仍然检索/显示数据,并显示类似“此数据。[面额][0]。标题未定义或其他任何内容” 我尝试使用可选的链接操作符“?”,但我显然不知道它是如何工作的 让我抓狂的是:(是数据[“面额”]毁掉了一切) (准

我正在进行一个ajax调用(JavaScript),它通过show info函数生成我正在检索的数据。我的问题如下:在其中一个数组上,一些数据没有它,虽然不多,但仍然有一些。因此,它将显示第一个项目,但当无法检索所述数组并返回一个:

未捕获类型错误:信息[“xxxx”]未定义

我真正希望的是能够使它仍然检索/显示数据,并显示类似“此数据。[面额][0]。标题未定义或其他任何内容”

我尝试使用可选的链接操作符“?”,但我显然不知道它是如何工作的

让我抓狂的是:(是数据[“面额”]毁掉了一切)


(准确地说,只需进行一点编辑。我在写这篇文章时搜索过,甚至从堆栈中查找了建议的主题)

检查对象中是否存在这两个属性,然后调用showinfo函数,它应该不会失败

for (let data of backCall.datas) {
  if (data["author"] && data["denomination"]) {
    showInfo(data.title, data["author"][0].name, data["denomination"][0].title, data["denomination"][0].id);
  }
}

该死的,太谢谢你了!我能麻烦你问一下为什么它有效吗我猜if声明if data[]&&data[]为真?但这是否也意味着,如果它是真的,那么你就输入参数,如果不是,它就跳到下一个响应参数的参数?
for (let data of backCall.datas) {
  if (data["author"] && data["denomination"]) {
    showInfo(data.title, data["author"][0].name, data["denomination"][0].title, data["denomination"][0].id);
  }
}