19新版教育培训风格演示站
标题:
为什么forEach只跑出第一个值? 没办法打印出全部
[打印本页]
作者:
jongde
时间:
2019-1-10 18:00
标题:
为什么forEach只跑出第一个值? 没办法打印出全部
假设有一个数组长这样
var qq = [
{
"info": {"event": 123},
"odds":
[
{"o": ["test","123",],
"oName": "超级联赛 冠军"
},
{"o": ["qq","ee",],
"oName": "苏格兰"
},
],
"main": true,
},
{
"info": {"event": 323},
"odds": [
{"o": ["jk","234"] ,
"oName": "苏格兰"
}
],
"main": true,
}
];
复制代码
我想要打印出每一个oName
qq.forEach(function(item,i){
console.log(item.odds.oName)
//结果undefined
console.log(item.odds[i].oName)
//成功列出第一个"超级联赛 冠军",
//然后显示"TypeError: Cannot read property 'oName' of undefined
return
});
复制代码
为什么没办法打印出全部的oName? 怎么解决呢?
作者:
Rosen_Gao
时间:
2019-1-10 18:00
for(var i=0;i<qq.length;i++){
for(var j=0;j<qq[i].odds.length;j++){
console.log(qq[i].odds[j].oName);
}
}
复制代码
作者:
墨染ART
时间:
2019-1-10 18:01
这样肯定不行啊,odds也是个数组,最简单粗暴的是双重循环:
qq.forEach((item,i)=>{
if (item.odds) {
item.odds.forEach((val,index)=>{
console.log(val.oName)
})
}
});
复制代码
作者:
匿名
时间:
2020-4-16 17:20
Rosen_Gao 发表于 2019-1-10 18:00
111111111111
欢迎光临 19新版教育培训风格演示站 (http://47.100.112.22/demo/train/)
Powered by Discuz! X3.5