检查Array是否包含特定时间

时间:2016-11-02 06:49:07

标签: javascript arrays

我有一个包含一些时间间隔的数组,我想检查数组当前时间(HH:mm)是否在数组内部。时间格式可能是(9:30,10:30 || 9:00,10:00)间隔"09:17"。阵列如下所述

enter image description here

  

arrayvals =   [ “00:00”, “04:00”, “09:00”, “11:00”, “12:00”, “14:00”, “17:00”];

我想检查时间{{1}}或当前时间是否在索引2的数组中。“09:00”表示9-10区间。

1 个答案:

答案 0 :(得分:3)

您可以检查间隔的给定值的所有分钟。



function check(array, value) {
    function getMinutes(s) {
        var p = s.split(':');
        return p[0] * 60 + +p[1];
    }

    var v = getMinutes(value);
    return array.some(function (a) {
        var t = getMinutes(a);
        return t <= v && v <= t + 60 || t <= v + 24 * 60 && v + 24 * 60 <= t + 60;
    });
}

var values = ["04:00", "09:00", "11:00", "12:00", "14:00", "17:00", "23:30"];

console.log(check(values, '09:17'));
console.log(check(values, '10:00'));
console.log(check(values, '13:00'));
console.log(check(values, '07:00'));
console.log(check(values, '00:15'));
&#13;
&#13;
&#13;