JavaScript - Array every() 方法



在 JavaScript 中,Array.every() 方法用于检查数组中的所有元素是否都满足指定的条件。此方法接受一个“回调函数”作为参数,该函数迭代数组中的每个元素。如果数组中的所有元素都通过回调函数中指定的条件,则返回“true”;否则,返回“false”。

此方法不为空数组元素执行函数。此外,此方法不会修改原始数组。

every() 方法是 ECMAScript5 (ES5) 的特性,并且在所有现代浏览器(如 Chrome、Edge、Firefox、Safari 和 Opera)中都受支持。

语法

以下是 JavaScript Array.every() 方法的语法:

every(callbackFn, thisArg)

参数

此方法接受两个参数。具体说明如下:

  • callbackFn − 一个对数组中每个元素执行的函数。它接受三个参数:
    • element − 数组中正在处理的当前元素。
    • index (可选) − 数组中正在处理的当前元素的索引。
    • array (可选) − 调用 every() 的数组。
  • thisArg (可选) − 传递给函数作为其this 值的值。

返回值

此方法返回布尔值作为结果。

示例

示例 1

在下面的示例中,我们使用 JavaScript Array.every() 方法检查数组中的所有元素是否都是偶数:

<html>
<body>
   <script>
      const numbers = [2, 4, 6, 8, 10];
      const result = numbers.every(num => num % 2 === 0);
      document.write(result);
   </script>
</body>
</html>

输出

它返回“true”作为结果,因为数组中的所有元素都满足回调函数的条件。

true

示例 2

在这个示例中,我们使用回调函数检查 fruits 数组中的每个字符串是否都以字母“S”开头:

<html>
<body>
   <script>
      const fruits = ['Strawberry', 'Apple', 'Banana', 'Cherry'];
      const result = fruits.every(fruit => fruit[0] === 'S');
      document.write(result);
   </script>
</body>
</html>

输出

它返回“false”作为结果,因为并非数组中的所有元素都以字母“S”开头。

false

示例 3

在这里,我们验证数组中的所有元素是否都大于 0:

<html>
<body>
   <script>
      const numbers = [2, 4, 6, -8, 10];
      const result = numbers.every(num => num > 0);
      document.write(result);
   </script>
</body>
</html>

输出

由于并非所有元素都大于 0,因此它返回“false”。

false

示例 4

在这个示例中,every() 方法使用回调函数检查数组中的每个元素是否都是“number”类型:

<html>
<body>
   <script>
      const array = [1, 'two', 3, 'four'];
      const result = array.every(item => typeof item === 'number');
      document.write(result);
   </script>
</body>
</html>

输出

由于并非所有元素都是“number”类型,因此它返回“false”。

false
广告