Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
87 views
in Technique[技术] by (71.8m points)

javascript - Accessing a Sub Array inside object through a Variable

I am getting an Array from an API which looks like this:

{
    "api": {
        "results": 1,
        "fixtures": [
            {
                "fixture_id": 647661,
                "league_id": 2979,
                "league": {
                    "name": "Primera Division",
                    "country": "El-Salvador",
                    "logo": "https://media.api-sports.io/football/leagues/370.png",
                    "flag": "https://media.api-sports.io/flags/sv.svg"
                },
                "event_date": "2021-01-03T21:00:00+00:00",
                "event_timestamp": 1609707600,
                "firstHalfStart": 1609707600,
                "secondHalfStart": 1609711200,
                "round": "Apertura - 2nd Phase - 9",
                "status": "Match Finished",
                "statusShort": "FT",
                "elapsed": 90,
                "venue": "Estadio Cuscatlán",
                "referee": "I. Barton",
                "homeTeam": {
                    "team_id": 4299,
                    "team_name": "Alianza",
                    "logo": "https://media.api-sports.io/football/teams/4299.png"
                },
                "awayTeam": {
                    "team_id": 4304,
                    "team_name": "Isidro Metapán",
                    "logo": "https://media.api-sports.io/football/teams/4304.png"
                },
                "goalsHomeTeam": 1,
                "goalsAwayTeam": 0,
                "score": {
                    "halftime": "0-0",
                    "fulltime": "1-0",
                    "extratime": null,
                    "penalty": null
                },
                "events": [
                    {
                        "elapsed": 46,
                        "elapsed_plus": null,
                        "team_id": 4299,
                        "teamName": "Alianza",
                        "player_id": 108658,
                        "player": "C. Flores",
                        "assist_id": 79308,
                        "assist": "F. Ponce",
                        "type": "subst",
                        "detail": "F. Ponce",
                        "comments": null
                    },
                    {
                        "elapsed": 46,
                        "elapsed_plus": null,
                        "team_id": 4299,
                        "teamName": "Alianza",
                        "player_id": 108806,
                        "player": "O. Rodriguez",
                        "assist_id": 108687,
                        "assist": "W. Cienfuegos",
                        "type": "subst",
                        "detail": "W. Cienfuegos",
                        "comments": null
                    },
                    {
                        "elapsed": 64,
                        "elapsed_plus": null,
                        "team_id": 4304,
                        "teamName": "Isidro Metapán",
                        "player_id": 108662,
                        "player": "Ricardinho",
                        "assist_id": 109179,
                        "assist": "J. Machado",
                        "type": "subst",
                        "detail": "J. Machado",
                        "comments": null
                    },
                    {
                        "elapsed": 75,
                        "elapsed_plus": null,
                        "team_id": 4299,
                        "teamName": "Alianza",
                        "player_id": 128285,
                        "player": "M. Mercado",
                        "assist_id": 51047,
                        "assist": "R. Zelaya",
                        "type": "subst",
                        "detail": "R. Zelaya",
                        "comments": null
                    },
                    {
                        "elapsed": 82,
                        "elapsed_plus": null,
                        "team_id": 4304,
                        "teamName": "Isidro Metapán",
                        "player_id": 108668,
                        "player": "H. Sosa",
                        "assist_id": 108727,
                        "assist": "M. Márquez",
                        "type": "subst",
                        "detail": "M. Márquez",
                        "comments": null
                    },
                    {
                        "elapsed": 89,
                        "elapsed_plus": null,
                        "team_id": 4299,
                        "teamName": "Alianza",
                        "player_id": 108687,
                        "player": "W. Cienfuegos",
                        "assist_id": null,
                        "assist": null,
                        "type": "Goal",
                        "detail": "Normal Goal",
                        "comments": null
                    },
                    {
                        "elapsed": 90,
                        "elapsed_plus": 3,
                        "team_id": 4299,
                        "teamName": "Alianza",
                        "player_id": 59170,
                        "player": "O. Blanco",
                        "assist_id": 108851,
                        "assist": "J. Contreras",
                        "type": "subst",
                        "detail": "J. Contreras",
                        "comments": null
                    }
                ],
                "lineups": {
                    "Alianza": {
                        "coach": "M. Meléndez",
                        "coach_id": 5442,
                        "formation": null,
                        "startXI": [
                            {
                                "team_id": 4299,
                                "player_id": 108907,
                                "player": "M. González",
                                "number": null,
                                "pos": null
                            },
                            {
                                "team_id": 4299,
                                "player_id": 108762,
                                "player": "I. Mancia",
                                "number": null,
                                "pos": null
                            },
                            {
                                "team_id": 4299,
                                "player_id": 108648,
                                "player": "R. Marroquin",
                                "number": null,
                                "pos": null
                            },
                            {
                                "team_id": 4299,
                                "player_id": 108763,
                                "player": "R. Clavel",
                                "number": null,
                                "pos": null
                            },
                            {
                                "team_id": 4299,
                                "player_id": 108647,
                                "player": "J. Portillo",
                                "number": null,
                                "pos": null
                            },
                            {
                                "team_id": 4299,
                                "player_id": 108682,
                                "player": "J. Jiménez",
                                "number": null,
                                "pos": null
                            },
                            {
                                "team_id": 4299,
                                "player_id": 108658,
                                "player": "C. Flores",
                                "number": null,
                                "pos": null
                            },
                            {
                                "team_id": 4299,
                                "player_id": 108806,
                                "player": "O. Rodriguez",
                                "number": null,
                                "pos": null
                            },
                            {
                                "team_id": 4299,
                                "player_id": 108706,
                                "player": "N. Orellana",
                                "number": null,
                                "pos": null
                            },
                            {
                                "team_id": 4299,
                                "player_id": 59170,
                                "player": "O. Blanco",
                                "number": null,
                                "pos": null
                            },
                            {
                                "team_id": 4299,
                                "player_id": 128285,
                                "player": "M. Mercado",
                                "number": null,
                                "pos": null
                            }
                        ],
                        "substitutes": [
                            {
                                "team_id": 4299,
                                "player_id": 79308,
                                "player": "F

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

What you're looking for is Square bracket notation which allows you to read a property based on a string.

const resData = await response.json();
const equipoLocal = resData.api.fixtures[0].homeTeam.team_name;

const lineUpLocalData = resData.api.fixtures[0].lineups[equipoLocal];

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...