获取所有在javascript对象中共享同一个同级的值

问题描述 投票:0回答:1

我正在尝试从从API中提取的此json文件中获取与特定dayID匹配的所有startTimes。因此,结果将是来自20191106的870、900、930、960、990、1020、1050,然后是来自20191107的startTime组,以此类推。我假设存在某种循环,但无法确定唯一标识符。

{
"Availability": [
        {
            "dayID": "20191106",
            "routeID": "313",
            "startTime": "870"
        },
        {
            "dayID": "20191106",
            "routeID": "313",
            "startTime": "900"
        },
        {
            "dayID": "20191106",
            "routeID": "313",
            "startTime": "930"
        },
        {
            "dayID": "20191106",
            "routeID": "313",
            "startTime": "960"
        },
        {
            "dayID": "20191106",
            "routeID": "313",
            "startTime": "990"
        },
        {
            "dayID": "20191106",
            "routeID": "313",
            "startTime": "1020"
        },
        {
            "dayID": "20191106",
            "routeID": "313",
            "startTime": "1050"
        },
        {
            "dayID": "20191107",
            "routeID": "313",
            "startTime": "360"
        },
        {
            "dayID": "20191107",
            "routeID": "313",
            "startTime": "390"
        },
        {
            "dayID": "20191107",
            "routeID": "313",
            "startTime": "420"
        },
        {
            "dayID": "20191108",
            "routeID": "313",
            "startTime": "360"
        },
        {
            "dayID": "20191108",
            "routeID": "313",
            "startTime": "390"
        },
        {
            "dayID": "20191108",
            "routeID": "313",
            "startTime": "420"
        },
        {
            "dayID": "20191108",
            "routeID": "313",
            "startTime": "450"
        }
    ]
}
javascript json api loops
1个回答
0
投票

您可以使用.filter和.map

const jsonData = {
"Availability": [
        {
            "dayID": "20191106",
            "routeID": "313",
            "startTime": "870"
        },
        {
            "dayID": "20191106",
            "routeID": "313",
            "startTime": "900"
        },
        {
            "dayID": "20191106",
            "routeID": "313",
            "startTime": "930"
        },
        {
            "dayID": "20191106",
            "routeID": "313",
            "startTime": "960"
        },
        {
            "dayID": "20191106",
            "routeID": "313",
            "startTime": "990"
        },
        {
            "dayID": "20191106",
            "routeID": "313",
            "startTime": "1020"
        },
        {
            "dayID": "20191106",
            "routeID": "313",
            "startTime": "1050"
        },
        {
            "dayID": "20191107",
            "routeID": "313",
            "startTime": "360"
        },
        {
            "dayID": "20191107",
            "routeID": "313",
            "startTime": "390"
        },
        {
            "dayID": "20191107",
            "routeID": "313",
            "startTime": "420"
        },
        {
            "dayID": "20191108",
            "routeID": "313",
            "startTime": "360"
        },
        {
            "dayID": "20191108",
            "routeID": "313",
            "startTime": "390"
        },
        {
            "dayID": "20191108",
            "routeID": "313",
            "startTime": "420"
        },
        {
            "dayID": "20191108",
            "routeID": "313",
            "startTime": "450"
        }
    ]
}
const dayID = "20191106"
const startTimes = jsonData.Availability.filter(a => a.dayID === dayID).map(a => a.startTime)
console.log(startTimes)

这里是执行代码的Jsfiddle。 https://jsfiddle.net/gho8b930/

© www.soinside.com 2019 - 2024. All rights reserved.