Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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/2/sharepoint/4.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 使用date fns的max函数从日期字符串数组中查找max date_Javascript_Arrays_Angular_Typescript_Date Fns - Fatal编程技术网

Javascript 使用date fns的max函数从日期字符串数组中查找max date

Javascript 使用date fns的max函数从日期字符串数组中查找max date,javascript,arrays,angular,typescript,date-fns,Javascript,Arrays,Angular,Typescript,Date Fns,日期字符串数组由后端数据对象构造,如下所示: const dates: string[] = this.data.map((item:any) => item.date.jsdate); 结果是 dates = [ Thu Jan 12 2015 00:00:00 GMT+0530 (India Time), Tue Feb 25 2015 00:00:00 GMT+0530 (India Time), Sun Jan 28 2016 00:00:00 GMT

日期字符串数组由后端数据对象构造,如下所示:

const dates: string[] = this.data.map((item:any) => item.date.jsdate);
结果是

dates = [
    Thu Jan 12 2015 00:00:00 GMT+0530 (India Time), 
    Tue Feb 25 2015 00:00:00 GMT+0530 (India Time), 
    Sun Jan 28 2016 00:00:00 GMT+0530 (India Time)
]
日期类型为“对象”

如何在jsdates数组中查找并获取最新日期


是否可以应用日期fns的最大功能

我可以使用momentjs()库提供一个解决方案

您可以使用以下方法对日期进行排序:

dates=dates.sort((a,b)=>moment(a)。diff(moment(b));

然后,如果需要最新日期,可以从该数组中获取最后一个元素:

返回日期[dates.length-1];

您还应该能够做到这一点,而无需时间:


dates=dates.sort((a,b)=>newdate(b)-newdate(a));

我可以使用momentjs()库提供一种解决方案

您可以使用以下方法对日期进行排序:

dates=dates.sort((a,b)=>moment(a)。diff(moment(b));

然后,如果需要最新日期,可以从该数组中获取最后一个元素:

返回日期[dates.length-1];

您还应该能够做到这一点,而无需时间:


dates=dates.sort((a,b)=>newdate(b)-newdate(a));
将每个对象转换为
Date
对象,并使用
getTime()
函数进行比较

var日期=[
“2015年1月12日星期四00:00:00 GMT+0530(印度时间)”,
“2015年2月25日星期二00:00:00 GMT+0530(印度时间)”,
“太阳2016年1月28日00:00:00 GMT+0530(印度时间)”
]
console.log(
dates.sort((a,b)=>新日期(b).getTime()-新日期(a).getTime())[0]

)
将每个对象转换为
日期
对象,并使用
getTime()
函数进行比较

var日期=[
“2015年1月12日星期四00:00:00 GMT+0530(印度时间)”,
“2015年2月25日星期二00:00:00 GMT+0530(印度时间)”,
“太阳2016年1月28日00:00:00 GMT+0530(印度时间)”
]
console.log(
dates.sort((a,b)=>新日期(b).getTime()-新日期(a).getTime())[0]

)
有用,但搜索解决方案时不使用momentjs库。谢谢。使用相同的方法,但仅在时间戳中转换日期,并在排序功能中比较两个日期刚刚编辑了答案,以包含一个潜在的解决方案w/o MomentUsage,但搜索解决方案时不使用momentjs库。谢谢。使用相同的方法,但只需在时间戳中转换日期并在排序函数中比较两个日期即可编辑答案,以包含一个不包含时间的潜在解决方案