JavaScript 数组 every()
示例 1
// 创建一个数组
const ages = [32, 33, 16, 40];
// 创建一个测试函数
function checkAge(age) {
return age > 18;
}
// 所有年龄都超过 18 岁了吗?
ages.every(checkAge);
自己试试 »
更多示例如下。
描述
The every()
方法对数组中的每个元素执行一个函数。
The every()
方法如果函数对所有元素都返回 true,则返回 true
。
The every()
方法如果函数对一个元素返回 false,则返回 false
。
The every()
方法不会对空元素执行函数。
The every()
方法不会改变原始数组
语法
array.every(function(currentValue, index, arr), thisValue)
参数
参数 | 描述 |
function() | 必需的。 要对数组中的每个元素运行的函数。 |
currentValue | 必需的。 当前元素的值。 |
index | 可选的。 当前元素的索引。 |
arr | 可选的。 当前元素的数组。 |
thisValue | 可选的。默认值为 undefined 。传递给函数作为其 this 值的值。 |
返回值
类型 | 描述 |
布尔值 |
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()">试试</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) 自 2013 年 7 月起在所有现代浏览器中得到完全支持
Chrome 23 |
IE/Edge 11 |
Firefox 21 |
Safari 6 |
Opera 15 |
2012 年 9 月 | 2012 年 9 月 | 2013 年 4 月 | 2012 年 7 月 | 2013 年 7 月 |