every方法测试一个数组内的所有元素是否都能通过某个指定的测试。它返回一个布尔值

注意:若收到一个空数组,此方法一切情况下都会返回true

  1. const array1 = [1, 30, 39, 29, 10, 13];
  2. console.log(array1.every(item=>item<40));
  3. // expected output: true

语法

image.png

返回值

如果回调函数的每一次返回都为truthy值,返回true,否则返回false

描述

every 方法为数组中的每个元素执行一次 callback 函数,直到它找到一个会使 callback 返回 falsy 的元素。如果发现了一个这样的元素,every 方法将会立即返回 false。否则,callback 为每一个元素返回 trueevery 就会返回 truecallback 只会为那些已经被赋值的索引调用。不会为那些被删除或从未被赋值的索引调用。
callback 在被调用时可传入三个参数:元素值,元素的索引,原数组。

例子

  1. 检测所有数组元素的大小<br />下面检测数组中的所有元素是否都大于10
  1. function isBigEnough(element, index, array) {
  2. return element >= 10;
  3. }
  4. [12, 5, 8, 130, 44].every(isBigEnough); // false
  5. [12, 54, 18, 130, 44].every(isBigEnough); // true
  1. 使用箭头函数<br />箭头函数为上面的检测过程提供了更简短的语法
  1. [12, 5, 8, 130, 44].every(x => x >= 10); // false
  2. [12, 54, 18, 130, 44].every(x => x >= 10); // true