使用jquery从嵌套json获取的最小日期
我有一个json字符串使用jquery从嵌套json获取的最小日期,jquery,json,Jquery,Json,我有一个json字符串 { "name":"experience", "spans":[ {"start":"2013-01-01","end":"2015-12-31","name":"Medical emergency","className":"gap","color":"red"}, {"start":"2017-03-01","end":"2017-03-16","name":"Test reason","className":"gap"
{
"name":"experience",
"spans":[
{"start":"2013-01-01","end":"2015-12-31","name":"Medical emergency","className":"gap","color":"red"},
{"start":"2017-03-01","end":"2017-03-16","name":"Test reason","className":"gap","color":"red"},
{"start":"2010-06-01","end":"2012-20-01","name":"Newtech Media","className":"career","color":"green"},
{"start":"2016-01-01","end":"2017-03-01","name":"Exlog Technologies","className":"career","color":"green"},
{"start":"2009-01-01","end":"2009-20-01","name":"Infosys","className":"career","color":"green"}
]
}
我使用
var timeObj = $.parseJSON(data);
现在我想要最小的开始日期。这是来自上面的字符串,它是2009-01-01
如何从嵌套的json对象获取最小日期?
我试了很多,但没有得到确切的答案。我想有人可以帮我。格式不完全正确,但应该是这样的
var smallDate = new DateTime(data.spans[0].start);
$(data.spans).each(function(){
var tempDate = new DateTime($this.start);
if(tempDate < smallDate)
{
smallDate =tempDate;
}
})
//smallDate will have th smallet date among the object
var smallDate=new DateTime(data.span[0].start);
$(data.span).each(function(){
var tempDate=new DateTime($this.start);
if(tempDate
格式不完全正确,但应该是这样的
var smallDate = new DateTime(data.spans[0].start);
$(data.spans).each(function(){
var tempDate = new DateTime($this.start);
if(tempDate < smallDate)
{
smallDate =tempDate;
}
})
//smallDate will have th smallet date among the object
var smallDate=new DateTime(data.span[0].start);
$(data.span).each(function(){
var tempDate=new DateTime($this.start);
if(tempDate
var数据={
“姓名”:“经历”,
“跨度”:[
{“开始”:“2013-01-01”,“结束”:“2015-12-31”,“名称”:“医疗急救”,“类名”:“间隙”,“颜色”:“红色”},
{“开始”:“2017-03-01”,“结束”:“2017-03-16”,“名称”:“测试原因”,“类名”:“间隙”,“颜色”:“红色”},
{“开始”:“2010-06-01”,“结束”:“2012-20-01”,“名称”:“Newtech Media”,“类名”:“职业”,“颜色”:“绿色”},
{“开始”:“2016-01-01”,“结束”:“2017-03-01”,“名称”:“Exlog Technologies”,“类名”:“职业”,“颜色”:“绿色”},
{“开始”:“2009-01-01”,“结束”:“2009-20-01”,“名称”:“Infosys”,“类名”:“职业”,“颜色”:“绿色”}
]
};
var dateArray=data.span.map(函数(项){
返回新日期(项目开始);
});
dateArray.sort(函数(a,b){
返回a-b;
});
var lowestDate=dateArray[0];
控制台日志(最低位)代码>
var数据={
“姓名”:“经历”,
“跨度”:[
{“开始”:“2013-01-01”,“结束”:“2015-12-31”,“名称”:“医疗急救”,“类名”:“间隙”,“颜色”:“红色”},
{“开始”:“2017-03-01”,“结束”:“2017-03-16”,“名称”:“测试原因”,“类名”:“间隙”,“颜色”:“红色”},
{“开始”:“2010-06-01”,“结束”:“2012-20-01”,“名称”:“Newtech Media”,“类名”:“职业”,“颜色”:“绿色”},
{“开始”:“2016-01-01”,“结束”:“2017-03-01”,“名称”:“Exlog Technologies”,“类名”:“职业”,“颜色”:“绿色”},
{“开始”:“2009-01-01”,“结束”:“2009-20-01”,“名称”:“Infosys”,“类名”:“职业”,“颜色”:“绿色”}
]
};
var dateArray=data.span.map(函数(项){
返回新日期(项目开始);
});
dateArray.sort(函数(a,b){
返回a-b;
});
var lowestDate=dateArray[0];
控制台日志(最低位)代码>
$(文档).ready(函数(e){
变量字符串={“名称”:“经验”,“跨度”:[{“开始”:“2013-01-01”,“结束”:“2015-12-31”,“名称”:“医疗急救”,“类名”:“间隙”,“颜色”:“红色”),{“开始”:“2017-03-01”,“结束”:“2017-03-16”,“名称”:“测试原因”,“类名”:“间隙”,“颜色”:“红色”},{“开始”:“2010-06-01”,“结束”:“2012-20-01”,“名称”:“新科技媒体”,“类名”:“职业生涯”,“颜色”:“绿色”}{“开始”:“2016-01-01”,“结束”:“2017-03-01”,“名称”:“Exlog Technologies”,“类名”:“职业”,“颜色”:“绿色”},{“开始”:“2009-01-01”,“结束”:“2009-20-01”,“名称”:“Infosys”,“类名”:“职业”,“颜色”:“绿色”}”;
var timeObj=$.parseJSON(字符串);
var最小值=新日期(timeObj.spans[0].开始);
$.each(timeObj.span,函数(索引,值){
var temp=新日期(值为开始);
如果(最小值>温度)
{
最小值=温度;
}
});
控制台日志(最小);
});
$(文档).ready(函数(e){
var字符串=“{”name:“experience”,“span:“{”start:“2013-01-01”,“end:“2015-12-31”,“name:“Medical emergency”,“className:“gap”,“color:“red”;“{”start:“red”;“2017-03-01”,“end:“2017-03-16”,“name:“Test reason”,“className:“gap”,“color:“red”;“start:“2010-06-01”,“end:“2012-20-01”,“name:“Newtech Media”,“className:”职业生涯”,“color:“green”;{”开始“:”2016-01-01“,”结束“:”2017-03-01“,”名称“:”Exlog Technologies“,”类名“:”职业“,”颜色“:”绿色“},{”开始“:”2009-01-01“,”结束“,”名称“:”Infosys“,”类名“:”职业“,”颜色“:”绿色“}”;
var timeObj=$.parseJSON(字符串);
var最小值=新日期(timeObj.spans[0].开始);
$.each(timeObj.span,函数(索引,值){
var temp=新日期(值为开始);
如果(最小值>温度)
{
最小值=温度;
}
});
控制台日志(最小);
});
查找数组中最小/最大/最酷的项是一种非常方便的方法,因为您只需要一行代码:
smallest = timeObj.spans.reduce(function(a,b) { return a.start < b.start ? a : b }).start
查找数组中最小/最大/最酷的项是一种非常方便的方法,因为您只需要一行代码:
smallest = timeObj.spans.reduce(function(a,b) { return a.start < b.start ? a : b }).start
你试过了吗?包括你认为的2009-01-01这是smallest@RanaGhosh,是的,我更新了..@初学者,我动态生成了json字符串,这是我的问题。我坚持我被问到的问题…尝试了很多,但没有效果..好的,我会检查每个答案..谢谢所有..你尝试过了吗?包括你尝试过的内容墨水2009-01-01这是smallest@RanaGhosh,是的,我更新了..@初学者,我动态生成了json字符串,这是我的问题。我坚持我被问到的问题…尝试了很多,但没有效果..好的,我会检查每个答案..谢谢大家。。