小码哥的IT人生

JavaScript Array every() 方法

JavaScript基础 2022-05-13 16:27:11小码哥的IT人生shichen

JavaScript Array every() 方法

实例

检查 age 数组中的所有值是否都为 18 或以上:

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

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 数组</h1>
<p>如果数组中的所有元素都通过测试(作为函数提供),则 Array.every() 方法返回 true。</p>
<p id="demo"></p>
<script>
const ages = [32, 33, 16, 40];
document.getElementById("demo").innerHTML = ages.every(checkAge);
function checkAge(age) {
  return age > 18;
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

页面下方有更多 实例。

定义和用法

every() 方法检查数组中的所有元素是否都通过了测试(被作为函数提供)。

every() 方法对数组中存在的每个元素执行一次函数:

  1. 如果找到函数返回 false 值的数组元素,every() 返回 false(并且不检查剩余值)
  2. 如果没有出现 false,every() 返回 true

注释:every() 不对没有值的数组元素执行函数。

注释:every() 不改变原始数组。

浏览器支持

所有浏览器都完全支持 every() 方法:

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
Yes 9.0 Yes Yes Yes Yes

语法

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

参数值

参数 描述
function(currentValue, index, arr) 必需。为数组中的每个元素运行的函数。

函数参数:

参数 描述
currentValue 必需。当前元素的值。
index 可选。当前元素的数组索引。
arr 可选。当前元素所属的数组对象
thisValue

可选。要传递给函数以用作其 "this" 值的值。

如果此参数为空,则值 "undefined" 将作为其 "this" 值传递。

技术细节

返回值: 布尔值。如果数组中的所有元素都通过测试,则返回 true,否则返回 false.
JavaScript 版本: ECMAScript 5

更多实例

检查 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>

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 数组</h1>
<p>请单击按钮,以检查数组中的每个元素是否都有高于此数字的值:</p>
<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>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

示例代码:

检查数组中的所有 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>

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 数组</h1>
<p>检查数组中的所有答案是否相同。</p>
<p id="demo"></p>
<script>
const survey = [
  { name: "Bill",   answer: "Yes"},
  { name: "Steve", answer: "Yes"},
  { name: "David",   answer: "Yes"},
  { name: "Elon",  answer: "No"}
];
document.getElementById("demo").innerHTML = survey.every(isSameAnswer);
function isSameAnswer(el,index,arr) {
  // 为第一个元素返回 true
  if (index === 0){
    return true;
  }
  else {
  // 比较前一个元素的值
    return (el.answer === arr[index - 1].answer);
  }
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

版权所有 © 小码哥的IT人生
Copyright © phpcodeweb All Rights Reserved
ICP备案号:苏ICP备17019232号-2  

苏公网安备 32030202000762号

© 2021-2024