目录

JavaScript Array every()

示例1

检查 Ages[] 中的所有值是否都超过 18:

const ages = [32, 33, 16, 40];

ages.every(checkAge)

function checkAge(age) {
  return age > 18;
}
亲自试一试 »

下面有更多示例。


描述

这个every()方法为每个数组元素执行一个函数。

这个every()方法返回true如果函数对所有元素返回 true。

这个every()方法返回false如果函数对一个元素返回 false。

这个every()方法不会对空元素执行该函数。

这个every()方法不会改变原始数组


语法

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

参数

Parameter Description
function() Required.
A function to be run for each element in the array.
currentValue Required.
The value of the current element.
index Optional.
The index of the current element.
arr Optional.
The array of the current element.
thisValue Optional. Default undefined.
A value passed to the function as its this value.

返回值

类型 描述
布尔值 true如果所有元素都通过测试,否则false


更多示例

检查所有答案是否相同:

const survey = [
  { name: "Steve", answer: "Yes"},
  { name: "Jessica", answer: "Yes"},
  { name: "Peter", answer: "Yes"},
  { name: "Elaine", answer: "No"}
];

let result = survey.every(isSameAnswer);

function isSameAnswer(el, index, arr) {
  if (index === 0) {
    return true;
  } else {
    return (el.answer === arr[index - 1].answer);
  }
}
亲自试一试 »

检查所有值是否超过特定数字:

<p><input type="number" id="ageToCheck" value="18"></p>

<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

<script>
const ages = [32, 33, 12, 40];

function checkAge(age) {
  return age > document.getElementById("ageToCheck").value;
}

function myFunction() {
  document.getElementById("demo").innerHTML = ages.every(checkAge);
}
</script>
亲自试一试 »

浏览器支持

every()是 ECMAScript5 (ES5) 功能。

所有浏览器完全支持 ES5 (JavaScript 2009):

Chrome Edge Firefox Safari Opera IE
Yes Yes Yes Yes Yes 9-11