Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取javascript对象中共享同一同级的所有值_Javascript_Json_Api_Loops - Fatal编程技术网

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

获取javascript对象中共享同一同级的所有值,javascript,json,api,loops,Javascript,Json,Api,Loops,我正试图从这个从API提取的json文件中获取与特定的dayID匹配的所有startTimes。因此,结果将是从20191106开始的8709009309609901050,然后是从20191107开始的startTime组,等等。我假设了某种循环,但很难找到唯一标识符 { "Availability": [ { "dayID": "20191106", "routeID": "313", "startTim

我正试图从这个从API提取的json文件中获取与特定的dayID匹配的所有startTimes。因此,结果将是从20191106开始的8709009309609901050,然后是从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"
        }
    ]
}

您可以使用.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)

下面是一个执行代码的JSFIDLE

您可以使用.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)

下面是一个执行代码的JSFIDLE

您可以使用reducer按dayID进行分组:

const数据={
“可用性”:[
{
“dayID”:“20191106”,
“routeID”:“313”,
“开始时间”:“870”
},
{
“dayID”:“20191106”,
“routeID”:“313”,
“开始时间”:“900”
},
{
“dayID”:“20191106”,
“routeID”:“313”,
“开始时间”:“930”
},
{
“dayID”:“20191106”,
“routeID”:“313”,
“开始时间”:“960”
},
{
“dayID”:“20191106”,
“routeID”:“313”,
“开始时间”:“990”
},
{
“dayID”:“20191106”,
“routeID”:“313”,
“开始时间”:“1020”
},
{
“dayID”:“20191106”,
“routeID”:“313”,
“开始时间”:“1050”
},
{
“dayID”:“20191107”,
“routeID”:“313”,
“开始时间”:“360”
},
{
“dayID”:“20191107”,
“routeID”:“313”,
“开始时间”:“390”
},
{
“dayID”:“20191107”,
“routeID”:“313”,
“开始时间”:“420”
},
{
“dayID”:“20191108”,
“routeID”:“313”,
“开始时间”:“360”
},
{
“dayID”:“20191108”,
“routeID”:“313”,
“开始时间”:“390”
},
{
“dayID”:“20191108”,
“routeID”:“313”,
“开始时间”:“420”
},
{
“dayID”:“20191108”,
“routeID”:“313”,
“开始时间”:“450”
}
]
}
console.log(数据.可用性.reduce)(acc,curr)=>{
if(根据[当前日期ID]){
acc[curr.dayID].push(curr.startTime);
}否则{
acc[当前日期]=[当前开始时间];
}
返回acc;

},{}))
您可以使用reducer按dayID进行分组:

const数据={
“可用性”:[
{
“dayID”:“20191106”,
“routeID”:“313”,
“开始时间”:“870”
},
{
“dayID”:“20191106”,
“routeID”:“313”,
“开始时间”:“900”
},
{
“dayID”:“20191106”,
“routeID”:“313”,
“开始时间”:“930”
},
{
“dayID”:“20191106”,
“routeID”:“313”,
“开始时间”:“960”
},
{
“dayID”:“20191106”,
“routeID”:“313”,
“开始时间”:“990”
},
{
“dayID”:“20191106”,
“routeID”:“313”,
“开始时间”:“1020”
},
{
“dayID”:“20191106”,
“routeID”:“313”,
“开始时间”:“1050”
},
{
“dayID”:“20191107”,
“routeID”:“313”,
“开始时间”:“360”
},
{
“dayID”:“20191107”,
“routeID”:“313”,
“开始时间”:“390”
},
{
“dayID”:“20191107”,
“routeID”:“313”,
“开始时间”:“420”
},
{
“dayID”:“20191108”,
“routeID”:“313”,
“开始时间”:“360”
},
{
“dayID”:“20191108”,
“routeID”:“313”,
“开始时间”:“390”
},
{
“dayID”:“20191108”,
“routeID”:“313”,
“开始时间”:“420”
},
{
“dayID”:“20191108”,
“routeID”:“313”,
“开始时间”:“450”
}
]
}
console.log(数据.可用性.reduce)(acc,curr)=>{
if(根据[当前日期ID]){
acc[curr.dayID].push(curr.startTime);
}否则{
acc[当前日期]=[当前开始时间];
}
返回acc;

},{}))
嗯,
dayID
不是唯一标识符吗?嗯,
dayID
不是唯一标识符吗?