В этом уроке мы изучим метод JavaScript Array every() с помощью примеров программ.
Метод Array every() перебирает каждый элемент массива и возвращает значение true, если каждый элемент массива проходит тестовое условие, определенное в функции обратного вызова.
Другими словами, метод every() запускает указанную функцию для каждого элемента массива и возвращает true, если функция возвращает true для каждого элемента.
Метод Array.every() полезен в JavaScript, если вы хотите проверить, все ли элементы массива прошли заданную тестовую функцию или нет.
Давайте разберемся с этим на примере.
<script>
// Defining an array.
let nums = [2, 4, 10, 20, 16, 18];
// Create a test function that will return even numbers.
function isEven(element) {
return element % 2 === 0;
}
// Checks whether an array nums contains all even numbers.
console.log("Are all even numbers?: " +nums.every(isEven));
</script>
Вывод: Are all even numbers?: true
Теперь вы можете наблюдать в выводе, что метод every()
возвращает true, потому что все числа в массиве четные. Давайте напишем ту же программу, используя стрелочную функцию.
<script>
// Defining an array.
let nums = [1, 3, 5, 9, 10, 11];
// Create a test function that will return an even number.
const isEven = (element) => element % 2 === 0;
console.log("Are all even numbers? " +nums.every(isEven));
</script>
Вывод: Are all even numbers? false
Синтаксис JavaScript Array every()
Общий синтаксис метода every()
в массиве JavaScript:
// Arrow function
arr.every((element) => { /*... */ })
arr.every((element, index) => { /*... */ })
arr.every((element, index, array) => { /*... */ })
// Callback function
arr.every(callbackFn)
arr.every(callbackFn, thisArg)
// Inline callback function
arr.every(function(element) { /*... */ })
arr.every(function(element, index) { /*... */ })
arr.every(function(element, index, array){ /*... */ })
arr.every(function(element, index, array) { /*... */ }, thisArg)
Здесь arr — имя массива.
Массив every() Параметры
Метод Array.every()
может принимать три параметра:
- callbackFn – функция обратного вызова для выполнения на каждом элементе массива; возвращает true, если все элементы проходят функцию обратного вызова. В противном случае возвращает false. Функция может принимать следующие аргументы:
- element – текущий элемент, который будет передан в массиве.
- index – индекс текущего элемента, передаваемого в массиве.
- arr – Имя массива, для которого вызывается метод every().
- thisArg – Значение, которое будет использоваться в качестве this при выполнении функции обратного вызова. По умолчанию оно не определено и необязательно.
Массив every() Возвращаемое значение
Метод every()
возвращает истинное значение для всех элементов массива, если они проходят тестовое условие, определенное в функции обратного вызова. Если один или несколько элементов не проходят тестовое условие, метод every()
возвращает false.
Примечания:
- Метод
every()
не изменяет исходный массив. - Функция обратного вызова не выполняется для элементов массива без значений.
Примеры программ JavaScript Array every()
Давайте рассмотрим несколько примеров программ, основанных на методе JavaScript-массива every()
.
Проверка значения элементов массива
Следующий код проверяет, все ли элементы массива больше 10.
<script>
let array1 = [20, 50, 60, 80, 11];
function isBiggerThan10(element) {
return element > 10;
}
console.log(array1.every(isBiggerThan10));
let array2 = [20, 40, 6, 80, 3];
console.log(array2.every(isBiggerThan10));
</script>
Вывод: true false
В этом примере мы использовали метод every(), чтобы выяснить, все ли элементы массива array1 больше 10.
Сначала мы создали массив с именем array1. Затем мы создали функцию обратного вызова с именем isBiggerThan10, которая вернет true, если значение больше 10.
После этого мы передали функцию обратного вызова методу every() как array1.every(isBiggerThan10), которая проверяет все элементы больше 10 и возвращает true. Аналогично для array2.
Тестирование элементов массива с использованием стрелочных функций
Мы также можем использовать стрелочные функции в JavaScript, которые обеспечивают более короткий синтаксис для того же теста. Посмотрите на код скрипта ниже.
['C', 'C++', 'JavaScript', 'Python', 'Ruby', 'Java'].every(word => word.length > 7); // false
[20, 6, 8, 15, 7, 9].every(x => x > 5); // true
[1, 4, 2, 6, 3].every(x => x < 5); // false
В этом уроке вы изучили метод JavaScript Array every() с множеством примеров программ. Надеюсь, вы поняли основную концепцию метода Array.every() и попрактиковались во всех программах. В следующем уроке мы изучим объект string в JavaScript и его различные методы с помощью примеров.