Показать сообщение отдельно
  #3 (permalink)  
Старый 29.11.2014, 11:30
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Сообщение от gmax007
здесь надо выйти из функции и вернуть ложь, причем чтобы как только цикл наткнется на число, не подходящее условиям, то сразу нужно выйти и вернуть ложь, не проверяя другие аргументы
Ты и так выходишь. только сгруппируй явно условия, если инверсию применяешь не только к первому подвыражению цепочки эндов, а ко всей цепочке.

if (!((Number.isSafeInteger(arguments[i]) && (Math.ceil(arguments[i]) == arguments[i]) && (Math.max(0, arguments[i]) == arguments[i]))))

Твои мат выражения я не проверял, но если условие истино, ты выйдешь с нулем. Можешь явно вернуть false, если хочешь, хотя разница будет только при строгой проверке. А так -- все правильно, ты выйдешь и из цикла и из функции, в данном случае.

Последний раз редактировалось krutoy, 29.11.2014 в 11:35.
Ответить с цитированием