【发布时间】:2019-01-11 05:59:35
【问题描述】:
我正在尝试从 Javascript 数组中读取数据。但是,它说的是未定义。
我的代码是
sabhaDetailsArrayTemp.forEach(element => {
let arra = [];
console.log(element)
//return tmp.m_category_name ;
arra = this.onSabhaChange(element.sabha_name);
console.log(arra);
const sabha_typeOBJ = arra.find(x => x.id == 9);
console.log(sabha_typeOBJ);
this.procSabhaDetailsArray.push({ sabha_id: element.sabha_name,
sabha_type: this.newTMPArray.find(x=>x.id == element.sabha_id),
followup_id:element.followup_id });
});
我将数组分配给数组。我想提取那个arra 的对象。我尝试使用arra[0] 访问第一个元素然后搜索。但是,它返回:
Error TypeError: Cannot read property find of undefined at 编辑-contact.component.ts:274
【问题讨论】:
-
快速提醒,您可能希望使用
===而不是== -
使用示例数据创建 sn-p 以重现问题
-
GetSabhaLIstDetailName 调用任何 API?
-
edit-contact.component.ts:274,this.newTMPArray是一个数组吗? -
this.onSabhaChange(element.sabha_name);是异步的,它不会立即返回数组,这就是返回数组为空且find不起作用的原因。您需要返回Observable,然后在subscribe中填充arra数组。
标签: javascript arrays json angular