Machinez
@Machinez

Как проверить результат каждой функции в массиве, если количество неизвестно?

Есть массив с неизвестным количеством функций, каждая из которых возвращает true или false
Если мы знаем количество, то можем явно вызвать
function validate(conditions) {
  return conditions[0]() && conditions[1]() && conditions[2]();
}

А если нет, то как лучше обработать массив?
  • Вопрос задан
  • 208 просмотров
Решения вопроса 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Такой код в точности повторяет проверку, которую вы привели, на произвольном числе элементов:
function validate(conditions) {
  for (let index = 0; index < conditions.length; index++) {
    if (!conditions[index]()) {
      return false;
    }
  }

  return true;
}
Ответ написан
Комментировать
Negwereth
@Negwereth
lvivcss.com.ua
Array.prototype.every же
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Ridz
Negwereth прав
function validate(conditions) {
  return  conditions.every(function(fun) {
  return  fun()
})
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы