在一组数组中查找最小和最大时间

Finding min and max time in a set of arrays

本文关键字:查找 时间 数组 一组      更新时间:2023-09-26

我有一个时间数组,

 var arr= ["17:30:48","19:30:48","18:30:48","19:30:48","17:40:48","19:10:48","17:10:48","19:30:45","17:13:48","19:13:48","17:30:48","19:28:48"];

我想从中得到最小和最大时间。试过了,但它变得太长了。

看看这个小提琴:http://jsfiddle.net/99Eue/12/

使用这个排序函数并抓取第一个元素。这将给你最大的。

arr.sort(function (a,b) {
    if(a > b) { return -1; }
    if(a < b) { return 1; }    
    return 0;
});
Console.log(arr[0]);

var min = function(arr) {
    return arr.reduce(function(a, b) { return a <= b? a : b;});
};
var max = function(arr) {
    return arr.reduce(function(a, b) { return a <= b? b : a;});
};

reduce更快,但可能更好地使用良好的旧array.sort可读性

var arr= ["17:30:48","19:30:48","17:27:48","19:30:48","17:30:48","19:30:48","17:30:48","19:30:48","17:30:48","19:30:48","17:30:48","19:30:48"];
arr.sort(function (a, b) {
  return new Date('1970/01/01 ' + a) - new Date('1970/01/01 ' + b);
});
alert("Min: " + arr[0] + "     Max: " + arr[arr.length-1]);