使用Javascript通过JSON查询类别
我有这个JSON文件。我只想查询赛后类别,但是,我需要最后两个使用Javascript通过JSON查询类别,javascript,json,for-loop,Javascript,Json,For Loop,我有这个JSON文件。我只想查询赛后类别,但是,我需要最后两个 { "videos" : [ { "url" : "https://www.youtube.com/watch?v=DSorwgunfqo", "category" : "Pre-Game", "team" :
{
"videos" : [
{
"url" : "https://www.youtube.com/watch?v=DSorwgunfqo",
"category" : "Pre-Game",
"team" : ["Rodholfo Silva"],
"date" : "January 20th 2021"
},
{
"url" : "https://www.youtube.com/watch?v=qFzxV0Dc2rw",
"category" : "Post-Game",
"team" : ["Rod Patrón"],
"date" : "January 21st 2021"
},
{
"url" : "https://www.youtube.com/watch?v=nq0358cJb-M",
"category" : "Post-Game",
"team" : ["Rod Patrón"],
"date" : "January 17th 2021"
},
{
"url" : "https://www.youtube.com/watch?v=iALl-ce5dzY",
"category" : "Pre-Game",
"team" : ["Rodholfo Silva"],
"date" : "January 16th 2021"
},
{
"url" : "https://www.youtube.com/watch?v=UY4WvV3dHNY",
"category" : "Enterviews",
"team" : ["Mathew Francis, Rodholfo Silva, Rod Patrón"],
"date" : "July 16th 2020"
},
{
"url" : "https://www.youtube.com/watch?v=7E2hMsmdbd4",
"category" : "Post-Game",
"team" : ["Rod Patrón"],
"date" : "January 24th 2021"
}
]
}
我正在使用Javascript,通过
进行循环和切片(1).slice(-2)
,但没有成功。假设文件内容包含在记录变量中,您想要的记录称为结果:
const result = records.videos.filter(video => video.category === 'Post-Game').slice(-2);
假设文件内容包含在records
变量中,您想要的记录称为result
:
const result = records.videos.filter(video => video.category === 'Post-Game').slice(-2);
const数据=[
{
“url”:”https://www.youtube.com/watch?v=DSorwgunfqo",
“类别”:“赛前”,
“团队”:[“Rodholfo Silva”],
“日期”:“2021年1月20日”
},
{
“url”:”https://www.youtube.com/watch?v=qFzxV0Dc2rw",
“类别”:“游戏后”,
“团队”:[“Rod Patrón”],
“日期”:“2021年1月21日”
},
{
“url”:”https://www.youtube.com/watch?v=nq0358cJb-M“,
“类别”:“游戏后”,
“团队”:[“Rod Patrón”],
“日期”:“2021年1月17日”
},
{
“url”:”https://www.youtube.com/watch?v=iALl-ce5dzY“,
“类别”:“赛前”,
“团队”:[“Rodholfo Silva”],
“日期”:“2021年1月16日”
},
{
“url”:”https://www.youtube.com/watch?v=UY4WvV3dHNY",
“类别”:“企业视图”,
“团队”:[“马修·弗朗西斯、罗霍尔夫·席尔瓦、罗德·帕特龙”],
“日期”:“2020年7月16日”
},
{
“url”:”https://www.youtube.com/watch?v=7E2hMsmdbd4",
“类别”:“游戏后”,
“团队”:[“Rod Patrón”],
“日期”:“2021年1月24日”
}
];
const postGames=data.filter(({category})=>category==“Post Game”).slice(-2);
控制台日志(后期游戏);
/*
const postGames=数据
.filter(({category})=>category==“游戏后”)
.filter(({date})=>//将您的条件放在这里)
.切片(-2);
控制台日志(后期游戏);
const postGamesByDatet=数据
.filter(({category,date})=>category==“Post Game”&&date在(date)之后)
.切片(-2);
*/
const数据=[
{
“url”:”https://www.youtube.com/watch?v=DSorwgunfqo",
“类别”:“赛前”,
“团队”:[“Rodholfo Silva”],
“日期”:“2021年1月20日”
},
{
“url”:”https://www.youtube.com/watch?v=qFzxV0Dc2rw",
“类别”:“游戏后”,
“团队”:[“Rod Patrón”],
“日期”:“2021年1月21日”
},
{
“url”:”https://www.youtube.com/watch?v=nq0358cJb-M“,
“类别”:“游戏后”,
“团队”:[“Rod Patrón”],
“日期”:“2021年1月17日”
},
{
“url”:”https://www.youtube.com/watch?v=iALl-ce5dzY“,
“类别”:“赛前”,
“团队”:[“Rodholfo Silva”],
“日期”:“2021年1月16日”
},
{
“url”:”https://www.youtube.com/watch?v=UY4WvV3dHNY",
“类别”:“企业视图”,
“团队”:[“马修·弗朗西斯、罗霍尔夫·席尔瓦、罗德·帕特龙”],
“日期”:“2020年7月16日”
},
{
“url”:”https://www.youtube.com/watch?v=7E2hMsmdbd4",
“类别”:“游戏后”,
“团队”:[“Rod Patrón”],
“日期”:“2021年1月24日”
}
];
const postGames=data.filter(({category})=>category==“Post Game”).slice(-2);
控制台日志(后期游戏);
/*
const postGames=数据
.filter(({category})=>category==“游戏后”)
.filter(({date})=>//将您的条件放在这里)
.切片(-2);
控制台日志(后期游戏);
const postGamesByDatet=数据
.filter(({category,date})=>category==“Post Game”&&date在(date)之后)
.切片(-2);
*/
太棒了。这也可以“混合”过滤器并按日期排序吗?如果要在获取最后2项之前对结果进行排序,或者如果要对最终结果进行排序,则可以通过将函数链接到切片
之前对其进行排序,或者在切片
之后对其进行排序,这与过滤相同,如果您想按日期过滤所有赛后信息,例如在1月20日之后
,只需将其添加到条件中即可。你说的filterMix的“mix”是什么意思?我的意思是,它就像是添加了多个过滤器。是的,没有任何问题,你可以通过链接来堆叠函数,或者在过滤器中添加新条件,我已经更新了我的响应。这也可以“混合”过滤器并按日期排序吗?如果要在获取最后2项之前对结果进行排序,或者如果要对最终结果进行排序,则可以通过将函数链接到切片
之前对其进行排序,或者在切片
之后对其进行排序,这与过滤相同,如果您想按日期过滤所有赛后信息,例如在1月20日之后
,只需将其添加到条件中即可。你说的filterMix的“mix”是什么意思?我的意思是,它就像是添加了多个过滤器。是的,没有任何问题,你可以通过链接来堆叠函数,或者在过滤器中添加新条件,我已经更新了我的响应。也可以“混合”过滤器并按日期排序吗?太棒了。也可以“混合”过滤器并按日期排序吗?