无法读取 reactjs 应用程序中未定义的属性“forEach”
2018-02-06
10702
我有一个 JS 方法,它接受一个 JSON 文件并尝试从中获取信息:
getData(json) {
var output = '';
json.Legs.forEach(function (item) {
.
.
.
.
.
.
});
return output;
}
我收到此 forEach 错误:
Uncaught TypeError: Cannot read property 'forEach' of undefined
是否可以像这样使用 forEach,或者我根本不应该使用 forEach? 还有其他方法可以做到这一点吗?
3个回答
确认
json.Legs
不为空后,需要执行循环。例如
if(json.Legs){
json.Legs.forEach(function (item) {
.
.
.
.
.
.
});
}
Abdul Qayyum
2018-02-06
将此作为代码的第一行添加,并查看它打印的内容。如果它是一个数组,您可以在其上执行
forEach
。否则它会抛出正确的错误。
console.log(json.Legs)
curlyBraces
2018-02-06
类似这样的方法应该可以解决问题(在迭代之前检查 .legs 属性是否存在以及它是否为数组):
getData(json) {
var output = '';
if(json.Legs && Array.isArray(json.Legs)){
json.Legs.forEach(function (item) {
//do something with item
});
}
return output;
}
Goran Gjorgievski
2018-02-06