Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как можно упростить условие if? (https://javascript.ru/forum/misc/75258-kak-mozhno-uprostit-uslovie-if.html)

Artur_Hopf 17.09.2018 13:26

Как можно упростить условие if?
 
Добрый день, есть функция которая раз в час выводит пользователю сообщение. Можно ли упростить условие if с временем?:-?
function alarm_wt(marker){

    var t = dateTime(3);

    if (t == "07:58" || t == "08:58" || t == "09:58" || t == "10:58" || t == "11:58" || t == "12:58"
        || t == "13:58" || t == "14:58" || t == "15:58" || t == "16:58" || t == "17:58" || t == "18:58"
        || t == "19:58" || t == "20:58" || t == "21:58" || t == "22:58" || t == "23:58" || t == "00:58"
        || t == "01:58" || t == "02:58" || t == "03:58" || t == "04:58" || t == "05:58" || t == "06:58"){
        if (marker){
            log_time_wt();
            marker = false;
        }
    };
    setTimeout(function() { 
        alarm_wt(marker); 
    }, 1000);
}

рони 17.09.2018 13:31

Artur_Hopf,
https://javascript.ru/forum/misc/752...tml#post494706

Dilettante_Pro 17.09.2018 13:36

Artur_Hopf,

if(t.split(":")[1] == "58")

Artur_Hopf 17.09.2018 13:46

рони,
Dilettante_Pro,

Точно блин, я тупица. Надо было просто вывести минуты в этой функции, что и сделал, всем спасибо: :p
function dateTime (num) {
    now = new Date();
    year = "" + now.getFullYear();
    month = "" + (now.getMonth() + 1); if (month.length === 1) { month = "0" + month; }
    day = "" + now.getDate(); if (day.length === 1) { day = "0" + day; }
    hour = "" + now.getHours(); if (hour.length === 1) { hour = "0" + hour; }
    minute = "" + now.getMinutes(); if (minute.length === 1) { minute = "0" + minute; }
    second = "" + now.getSeconds(); if (second.length === 1) { second = "0" + second; }
    if(num == 1){
        return day + "." + month + "." + year + " " + hour + ":" + minute + ":" + second;
    };
    if(num == 2){
        return hour + ":" + minute + ":" + second;
    };
    if(num == 3){
        return hour + ":" + minute;
    };
    
    if(num == 4){
        return minute;
    };
}

j0hnik 17.09.2018 15:25

Artur_Hopf,
new Date().toLocaleString('ru', {...

не пробовали использовать?

Artur_Hopf 17.09.2018 15:59

j0hnik,
Пока работает без сбоев, вникать в новое не буду :)


Часовой пояс GMT +3, время: 19:09.