从给定对象访问'行'数据?这是指向 api 的链接 -https://sportsbook.draftkings.com/api/odds/v1/leagues/3/offers/gamelines.json
{
"events": [{
"id": 153502679,
"name": "Green Bay Packers @ Chicago Bears",
"homeTeamName": "CHI Bears",
"awayTeamName": "GB Packers",
"startDate": "2019-09-06T00:20:00.0000000Z",
"offers": [{
"id": "1-2160521227",
"label": "Point Spread",
"outcomes": [{
"id": "1-2568051855",
"label": "GB Packers",
"line": "+3.5000",
"oddsAmerican": "-110",
"oddsDecimal": 1.9100,
"oddsFractional": "10/11",
"participant": "GB Packers"
},
我正在得到
<td>{{data.name }}</td>
<td>{{data.homeTeamName }}</td>
<td>{{data.awayTeamName}}</td>
<td>{{data.startDate }}</td>
<!--<td>{{data.offers[1].label }}</td>-->
<td>{{data.offers.outcomes[2].line }}</td>
我尝试了上面的代码来访问结果对象中的行,它给了我以下错误
ERROR TypeError: Cannot read property '2' of undefined
提供的 API 响应包含 3 个嵌套数组。因此,在访问其值时必须考虑它们。根据以下数组中的项目数量,解决方案会有所不同。在您的示例中,您正在访问数组"事件"、"优惠"、"结果"的第一项的值。
在这种特定情况下,您可以尝试
<td>{{data.events[0].offers[0].outcomes[0].line}} </td>
您似乎没有访问选件数组中的数据。
请尝试以下代码来访问事件,然后访问选件,然后访问结果:
data.events[0].offers[0].outcomes[0].line
希望它有效!
考虑到每个嵌套的 aray 中只有一个项目,您可以访问line
let data = {
"events": [{
"id": 153502679,
"name": "Green Bay Packers @ Chicago Bears",
"homeTeamName": "CHI Bears",
"awayTeamName": "GB Packers",
"startDate": "2019-09-06T00:20:00.0000000Z",
"offers": [{
"id": "1-2160521227",
"label": "Point Spread",
"outcomes": [{
"id": "1-2568051855",
"label": "GB Packers",
"line": "+3.5000",
"oddsAmerican": "-110",
"oddsDecimal": 1.9100,
"oddsFractional": "10/11",
"participant": "GB Packers"
}]
}]
}]
}
console.log(data.events[0].offers[0].outcomes[0].line);
如果每个嵌套数组中有 n 个对象,您可以执行
let data = {
"events": [{
"id": 153502679,
"name": "Green Bay Packers @ Chicago Bears",
"homeTeamName": "CHI Bears",
"awayTeamName": "GB Packers",
"startDate": "2019-09-06T00:20:00.0000000Z",
"offers": [{
"id": "1-2160521227",
"label": "Point Spread",
"outcomes": [{
"id": "1-2568051855",
"label": "GB Packers",
"line": "+3.5000",
"oddsAmerican": "-110",
"oddsDecimal": 1.9100,
"oddsFractional": "10/11",
"participant": "GB Packers"
}]
}]
}]
}
data['events'].forEach(event => {
event.offers.forEach(offer => {
offer.outcomes.forEach(outcome => {
console.log(outcome.line);
});
});
});