Array.every(): выполняется ли условие для всех
Метод every проверяет, удовлетворяют ли все посещаемые элементы массива заданному условию.
Назначение
Метод every проверяет, удовлетворяют ли все посещаемые элементы массива заданному условию.
Как это работает
Перебор останавливается после первого ложного результата. Для пустого массива результат true: нет элемента, нарушающего условие. Это поведение нужно учитывать отдельно от требования непустого списка.
Пример
console.assert([2,4,6].every(n=>n>0));
console.assert(![2,-4,6].every(n=>n>0));
console.assert([].every(n=>n>0));
const values=[];
console.assert(!(values.length>0 && values.every(n=>n>0)));
Что должно получиться
Пустой массив проходит every, но не комбинированное требование непустоты. Проверки отделяют математическое условие для всех элементов от прикладного наличия данных.
Граница применения и частая ошибка
Проверка every не доказывает наличие хотя бы одной записи. Если форма требует заполненный список, объедините условие length>0 с проверкой всех элементов.
Самостоятельная проверка
Сравните непустой корректный список, список с ошибкой и пустой список. Сформулируйте отдельное условие «есть хотя бы один элемент, и все элементы положительны».
JavaScript в песочнице этого сайта не выполняется. Перенесите пример в отдельный учебный файл. Сначала проверьте исходный результат, затем измените входные данные; ошибка проверки означает, что результат отличается от ожидаемого.