Javascript 基于最小和最大日期排序数组?
基本上我有一系列的日期:Javascript 基于最小和最大日期排序数组?,javascript,sorting,datetime,underscore.js,Javascript,Sorting,Datetime,Underscore.js,基本上我有一系列的日期: var array = ["2017-01-22 00:21:17.0", "2017-01-27 11:30:23.0", "2017-01-24 15:53:21.0", "2017-01-27 11:34:18.0", "2017-01-26 16:55:48.0", "2017-01-22 11:57:12.0", "2017-01
var array = ["2017-01-22 00:21:17.0",
"2017-01-27 11:30:23.0",
"2017-01-24 15:53:21.0",
"2017-01-27 11:34:18.0",
"2017-01-26 16:55:48.0",
"2017-01-22 11:57:12.0",
"2017-01-27 11:35:43.0"];
我需要根据最大和最小日期对其进行排序;
我试过:
但这将返回-Infinity
和u.min返回Infinity
问候:)您无需回拨即可使用。这将按字符串进行排序,该字符串获取索引0处的最小值和最后一个索引处的最大日期
var数组=[“2017-01-22 00:21:17.0”,“2017-01-27 11:30:23.0”,“2017-01-24 15:53:21.0”,“2017-01-27 11:34:18.0”,“2017-01-26 16:55:48.0”,“2017-01-22 11:57:12.0”,“2017-01-27 11:35:43.0”];
array.sort();
console.log(数组);
console.log('min',数组[0]);
log('max',数组[array.length-1])代码>
.as控制台包装{max height:100%!important;top:0;}
无需回调即可使用。这将按字符串进行排序,该字符串获取索引0处的最小值和最后一个索引处的最大日期
var数组=[“2017-01-22 00:21:17.0”,“2017-01-27 11:30:23.0”,“2017-01-24 15:53:21.0”,“2017-01-27 11:34:18.0”,“2017-01-26 16:55:48.0”,“2017-01-22 11:57:12.0”,“2017-01-27 11:35:43.0”];
array.sort();
console.log(数组);
console.log('min',数组[0]);
log('max',数组[array.length-1])代码>
.as控制台包装{最大高度:100%!重要;顶部:0;}
var数组=[“2017-01-22 00:21:17.0”,
"2017-01-27 11:30:23.0",
"2017-01-24 15:53:21.0",
"2017-01-27 11:34:18.0",
"2017-01-26 16:55:48.0",
"2017-01-22 11:57:12.0",
"2017-01-27 11:35:43.0"];
var timestamp=array.map((item)=>newdate(item.getTime());
log('Max is',新日期(Math.Max.apply(null,时间戳)).toutString();
log('Min is',新日期(Math.Min.apply(null,时间戳)).toutString()代码>
var数组=[“2017-01-22 00:21:17.0”,
"2017-01-27 11:30:23.0",
"2017-01-24 15:53:21.0",
"2017-01-27 11:34:18.0",
"2017-01-26 16:55:48.0",
"2017-01-22 11:57:12.0",
"2017-01-27 11:35:43.0"];
var timestamp=array.map((item)=>newdate(item.getTime());
log('Max is',新日期(Math.Max.apply(null,时间戳)).toutString();
log('Min is',新日期(Math.Min.apply(null,时间戳)).toutString()所以我想为了得到最大值,我需要以相反的顺序读取数组?好吧,我没想到会这么容易。使用第一种方法时要非常小心。默认排序顺序根据字符串Unicode点,与比较日期无关。可能有一些边缘情况会导致它崩溃(特别是如果您有任何格式不同的情况),但它可以在您提供的数组上工作。@damon谢谢,这是我唯一可以排序的数组。@damon,ISO日期字符串可以作为字符串排序,没有边缘情况。@NinaScholz很高兴知道,我想如果格式是有效的,它会正常工作。所以我想为了得到最大值,我需要以相反的顺序读取数组?好吧,我没想到会这么容易。使用第一种方法时要非常小心。默认排序顺序根据字符串Unicode点,与比较日期无关。可能有一些边缘情况会导致它崩溃(特别是如果您有任何格式不同的情况),但它可以在您提供的数组上工作。@damon谢谢,这是我唯一可以排序的数组。@damon,ISO日期字符串可以作为字符串排序,没有边缘情况。@NinaScholz很高兴知道,我想,如果格式有效,它将正常工作。可能的副本只需删除函数
部分:.min(数组),\umax(数组)
可能的副本只需删除函数
部分:.min(数组),\umax(数组)
var lowest = _.max(array, function(o){return o.val;});
console.log(lowest);