Javascript JQuery-获取关联数组的最小和最大日期
我有一个关联数组:Javascript JQuery-获取关联数组的最小和最大日期,javascript,jquery,arrays,json,Javascript,Jquery,Arrays,Json,我有一个关联数组: [{"start_date":"2018-11-20", "end_date":"2019-01-20", name:"NO Name"}, {"start_date":"2018-10-10", "end_date":"2019-02-14", name:"Name No"}, {"start_date":"2019-02-15", "end_date":"2019-03-01", name:"No Name No"}] 我想要得到的值是最小开始日期,即2018-10
[{"start_date":"2018-11-20", "end_date":"2019-01-20", name:"NO Name"},
{"start_date":"2018-10-10", "end_date":"2019-02-14", name:"Name No"},
{"start_date":"2019-02-15", "end_date":"2019-03-01", name:"No Name No"}]
我想要得到的值是最小开始日期,即2018-10-10
,以及最大结束日期,即2019-03-01
。我怎么能得到这个
我试过的:
data = '[{"start_date":"2018-11-20", "end_date":"2019-01-20", name:"NO Name"},{"start_date":"2018-10-10", "end_date":"2019-02-14", name:"Name No"},{"start_date":"2019-02-15", "end_date":"2019-03-01", name:"No Name No"}]';
var end_date = new Date();
var start_date = new Date();
for (var i=0; i<data.length; i++) {
if (data[i].end_date > end_date) {
end_date = data[i].end_date
}
if (data[i].start_date > start_date) {
start_date = data[i].start_date;
}
}
console.log(end_date);
console.log(start_date);
data='[{“开始日期”:“2018-11-20”,“结束日期”:“2019-01-20”,名称:“无名称”},{“开始日期”:“2018-10-10”,“结束日期”:“2019-02-14”,名称:“名称无”},{“开始日期”:“2019-02-15”,“结束日期”:“2019-03-01”,名称:“无名称无”};
var end_date=新日期();
var start_date=新日期();
对于(变量i=0;i结束日期){
结束日期=数据[i]。结束日期
}
如果(数据[i]。开始日期>开始日期){
开始日期=数据[i]。开始日期;
}
}
控制台日志(结束日期);
控制台日志(开始日期);
您只需通过对开始日期进行排序,然后获得结果数组的第一个和最后一个元素:
const data=[{“开始日期”:“2018-11-20”,“结束日期”:“2019-01-20”,名称:“无名称”},{“开始日期”:“2018-10-10”,“结束日期”:“2019-02-14”,名称:“名称无”},{“开始日期”:“2019-02-15”,“结束日期”:“2019-03-01”,名称:“无名称无”}]
const result=data.sort((a,b)=>a.start\u date.localeCompare(b.start\u date))
console.log(结果[0],结果[result.length-1])
//只是日期
console.log(结果[0]。开始日期,结果[result.length-1]。开始日期)
我可以只获取日期吗?确定:console.log(结果[0]。开始日期,结果[result.length-1]。开始日期)