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
廣告