Jquery 按当前日期筛选Json数据
几乎只是想按日期显示接下来的3款当前游戏。我希望看到未来3场比赛的日期,并有它的帐户,如果它是发生在当天的游戏(目前的日期在用户正在查看)Jquery 按当前日期筛选Json数据,jquery,json,Jquery,Json,几乎只是想按日期显示接下来的3款当前游戏。我希望看到未来3场比赛的日期,并有它的帐户,如果它是发生在当天的游戏(目前的日期在用户正在查看) $.getJSON('http://data.nba.com/data/v2015/json/mobile_teams/nba/2020/teams/trail_blazers_schedule_02.json,函数(数据){ var currentDate=新日期(); $(data.gscd.g).每个(函数(索引,值){ 对于(变量i=0;i
$.getJSON('http://data.nba.com/data/v2015/json/mobile_teams/nba/2020/teams/trail_blazers_schedule_02.json,函数(数据){
var currentDate=新日期();
$(data.gscd.g).每个(函数(索引,值){
对于(变量i=0;i<1;i++){
文件。写入(“”+value.gdte+“”);
}
});
});
这可以通过3个操作实现:1)过滤游戏以删除过去的事件,2)按日期对游戏排序,3)选择3个游戏。大概是这样的:
$.getJSON('http://data.nba.com/data/v2015/json/mobile_teams/nba/2020/teams/trail_blazers_schedule_02.json', function(data) {
var currentDate = new Date();
// 1. filter
var filtered = data.gscd.g.filter((entry) => Date.parse(entry.gdte) > currentDate);
// 2. sort
filtered.sort((a, b) => Date.parse(b.gdte) - Date.parse(b.gdte));
// 3. get 3 games
var result = filtered.slice(0,3)
$(result).each(function (index, value) {
document.write('<h4>'+value.gdte+'</h4>');
});
});
$.getJSON('http://data.nba.com/data/v2015/json/mobile_teams/nba/2020/teams/trail_blazers_schedule_02.json,函数(数据){
var currentDate=新日期();
//1.过滤器
var filtered=data.gscd.g.filter((entry)=>Date.parse(entry.gdte)>currentDate);
//2.分类
filtered.sort((a,b)=>Date.parse(b.gdte)-Date.parse(b.gdte));
//3.获得3场比赛
var结果=过滤的.slice(0,3)
$(结果)。每个(函数(索引、值){
文件。写入(“”+value.gdte+“”);
});
});
我不理解你的问题,根据你的json示例,你能显示你想要显示的内容吗?@Frenchy只想显示当前的下3个游戏日期。所以01-30-2021 02-04-2021 02-07-2021我现在用这个函数得到的是所有日期。谢谢!工作得很好!你会不会碰巧知道如何用不同的格式来阅读日期?比如1月30日星期六。以及将军事时间转换为“etm”部分?再次感谢你的帮助!我使用moment
库或date fns
解析不同格式的日期:moment('Sat,Jan 30','ddd,MMM DD')。toDate()
。用普通JavaScript解析日期要困难得多。当使用moment.js时,.toDate()会取代Date.parse吗?你能展示一下上面的例子是如何工作的吗?Date.parse
以毫秒为单位返回时间。在矩中,您可以使用以下命令获得相同的值:矩('Sat,Jan 30','ddd,MMM DD')。valueOf()
如果您需要以该值输出该值,那么可能是这样:document.write(''+矩(value.gdte,'yyyyy-MM-DD')。format('ddd,MMM DD')+)代码>
$.getJSON('http://data.nba.com/data/v2015/json/mobile_teams/nba/2020/teams/trail_blazers_schedule_02.json', function(data) {
var currentDate = new Date();
// 1. filter
var filtered = data.gscd.g.filter((entry) => Date.parse(entry.gdte) > currentDate);
// 2. sort
filtered.sort((a, b) => Date.parse(b.gdte) - Date.parse(b.gdte));
// 3. get 3 games
var result = filtered.slice(0,3)
$(result).each(function (index, value) {
document.write('<h4>'+value.gdte+'</h4>');
});
});