JavaScript Array every()

定義和用法

every() 方法檢查數組中的所有元素是否都通過了測試(被作為函數提供)。

every() 方法對數組中存在的每個元素執行一次函數:

  • 如果找到函數返回 false 值的數組元素,every() 返回 false(并且不檢查剩余值)
  • 如果沒有出現 false,every() 返回 true

注釋:every() 不對沒有值的數組元素執行函數。

注釋:every() 不改變原始數組。

實例

例子 1

檢查 age 數組中的所有值是否都為 18 或以上:

var ages = [32, 33, 16, 40];
function checkAdult(age) {
  return age >= 18;
}
function myFunction() {
  document.getElementById("demo").innerHTML = ages.every(checkAdult);
}

親自試一試

例子 2

檢查 ages 數組中的所有值是否為或超過特定數字:

<p>Minimum age: <input type="number" id="ageToCheck" value="18"></p>
<button onclick="myFunction()">Try it</button>
<p>All ages above minimum? <span id="demo"></span></p>
<script>
var ages = [32, 33, 12, 40];
function checkAdult(age) {
  return age >= document.getElementById("ageToCheck").value;
}
function myFunction() {
  document.getElementById("demo").innerHTML = ages.every(checkAdult);
}
</script>

親自試一試

例子 3

檢查數組中的所有 answer 值是否相同:

<script>
var survey = [
  { name: "Steve", answer: "Yes"},
  { name: "Jessica", answer: "Yes"},
  { name: "Peter", answer: "Yes"},
  { name: "Elaine", answer: "No"}
];
function isSameAnswer(el, index, arr) {
  if (index === 0){
    return true;
  } else {
    return (el.answer === arr[index - 1].answer);
  }
}
function myFunction() {
  document.getElementById("demo").innerHTML = survey.every(isSameAnswer);
}
</script>

親自試一試

瀏覽器支持

所有瀏覽器都完全支持 every() 方法:

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
支持 9.0 支持 支持 支持 支持

語法

array.every(function(currentValue, index, arr), thisValue)

參數值

參數 描述
function(currentValue, index, arr) 必需。為數組中的每個元素運行的函數。

函數參數:

參數 描述
currentValue 必需。當前元素的值。
index 可選。當前元素的數組索引。
arr 可選。當前元素所屬的數組對象
thisValue

可選。要傳遞給函數以用作其 "this" 值的值。

如果此參數為空,則值 "undefined" 將作為其 "this" 值傳遞。

技術細節

返回值: 布爾值。如果數組中的所有元素都通過測試,則返回 true,否則返回 false.
JavaScript 版本: ECMAScript 5

相關頁面

教程:JavaScript 數組

教程:JavaScript 數組 Const

教程:JavaScript 數組方法

教程:JavaScript 排序數組

教程:JavaScript 數組迭代