JavaScript 的 数组 对象内置了 every 方法用于检测数组中的所有元素是否都符合指定条件,如果只要一个元素不符合指定条件,则返回 false,所有元素都符合要求,则 返回 true。
every() 方法 用于检测数组所有元素是否都符合指定条件(通过函数提供)。
array.every(function(currentValue, index, arr), thisValue);
参数 | 描述 |
---|---|
function(currentValue, index, arr) | 必须。数组每个元素需要执行的函数。 |
thisValue | 可选。对象作为该执行回调时使用,传递给函数,用作 “this” 的值。 如果省略了 thisValue ,“this” 的值为 “undefined” |
参数 | 描述 |
---|---|
currentValue | 必需。当前元素 |
index | 可选。当前元素的索引 |
arr | 可选。当前元素所属的数组对象 |
布尔值。如果所有元素都通过检测返回 true,否则返回 false。
every() 方法使用指定函数检测数组中的所有元素,如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
如果所有元素都满足条件,则返回 true。
该函数只支持 JavaScript 1.6 即以上版本。
使用 every 循环遍历数组的每一个元素
<!DOCTYPE html>
<html>
<head>
<title>JavaScript every循环遍历数组的每一个元素</title>
<script type="text/javascript">
console.log("嗨客网(www.haicoder.net)");
var arr = new Array(1, 4, 9, 16, 25, 36);
console.log("Arr =", arr);
function walk(currentValue, index, arr){
if (currentValue % 2 === 0){
return true;
}
return false;
}
var isPass = arr.every(walk);
console.log("IsPass =", isPass);
</script>
</head>
</html>
程序运行后,控制台输出如下:
我们定义了一个 walk 函数,该函数接受三个参数,一个为当前值,一个为当前的索引,最后一个为数组,同时,在该函数里,我们使用 if判断 如果当前值是偶数那么就返回 true,否则,返回 false。
walk 函数返回 true,则代表该元素符合我们需要的元素,如果返回 false,那么就代表该元素不是我们需要的元素。
最后,我们将 walk 函数传入数组 arr 的 every 函数里,同时使用 isPass 接受 every 函数的返回值,因为,我们的数组里的元素不是全部是偶数,因此 every 函数返回了 false。
使用 every 循环遍历数组的每一个元素
<!DOCTYPE html>
<html>
<head>
<title>JavaScript every循环遍历数组的每一个元素</title>
<script type="text/javascript">
console.log("嗨客网(www.haicoder.net)");
var arr = new Array(1, 4, 9, 16, 25, 36);
console.log("Arr =", arr);
function walk(currentValue, index, arr){
if (currentValue > 0){
return true;
}
return false;
}
var isPass = arr.every(walk);
console.log("IsPass =", isPass);
</script>
</head>
</html>
程序运行后,控制台输出如下:
我们使用数组的 every 函数判断,数组的所有元素是否都大于 0,结果返回 true。
JavaScript 的数组对象内置了 every 方法用于检测数组中的所有元素是否都符合指定条件,如果只要一个元素不符合指定条件,则返回 false,所有元素都符合要求,则返回 true。JavaScript 数组 every 语法:
array.every(function(currentValue,index,arr), thisValue);