Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как сделать что бы при выполнении 1-го условия 2-рое не выполнялось? (https://javascript.ru/forum/misc/81967-kak-sdelat-chto-pri-vypolnenii-1-go-usloviya-2-roe-ne-vypolnyalos.html)

drozd2016 22.02.2021 10:33

Как сделать что бы при выполнении 1-го условия 2-рое не выполнялось?
 
Доброго дня! Есть цыкл который перебирает масив

for (let j = 0; j < days.length; j++) {
 
    if (Number(days[j][0].substr(0, 5)) === Number(s22.substr(0, 5))) {
	days2 +=(days[j] + ' ' + ( Number(s22.substr(6, 10)) -Number(days[j][0].substr(6, 10))) + ' лет'  +  ", " + '\r\n' + '\r\n' + s11);
	
}
    else  if ((Number(days[j][0].substr(0, 5)) !== Number(s22.substr(0, 5))))   {
		
	days2 = 'Отсутсвуют';
   }


Даный цыкл перебирает масив. Но второе условие затирает 1-вое. Мне же надо что бы если сработало если хоть один елемент масива совпал то второе условие не выполнилось. Ну а если не один елемент масив не совпал то выполнилось 2-рое условие. Подскажите как реализовать и в чемошибка?

drozd2016 22.02.2021 10:50

Добавил еще условие при котором if else сработал.
else if ((Number(days[j][0].substr(0, 5)) !== Number(s22.substr(0, 5)))&&(days2 == ''))

Вроде работает. Правильно решил задачу? Или все же можно по другому?

рони 22.02.2021 11:04

drozd2016,
for (let j = 0; j < days.length; j++) {
    if (Number(days[j][0].substr(0, 5)) === Number(s22.substr(0, 5))) {
        days2 += (days[j] + ' ' + (Number(s22.substr(6, 10)) - Number(days[j][0].substr(6, 10))) + ' лет' + ", " + '\r\n' + '\r\n' + s11);
    }

}
if (!days2) days2 = 'Отсутсвуют';


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