JavaScript数组every方法

JavaScript数组every方法教程

JavaScript数组 对象内置了 every 方法用于检测数组中的所有元素是否都符合指定条件,如果只要一个元素不符合指定条件,则返回 false,所有元素都符合要求,则 返回 true。

JavaScript数组every详解

定义

every() 方法 用于检测数组所有元素是否都符合指定条件(通过函数提供)。

语法

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

参数

参数 描述
function(currentValue, index, arr) 必须。数组每个元素需要执行的函数。
thisValue 可选。对象作为该执行回调时使用,传递给函数,用作 “this” 的值。
如果省略了 thisValue ,“this” 的值为 “undefined”

function参数

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

返回值

布尔值。如果所有元素都通过检测返回 true,否则返回 false。

说明

every() 方法使用指定函数检测数组中的所有元素,如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。

如果所有元素都满足条件,则返回 true。

技术细节

该函数只支持 JavaScript 1.6 即以上版本。

案例

every循环遍历处理数组元素

使用 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>

程序运行后,控制台输出如下:

31_Javascript every循环遍历数组.png

我们定义了一个 walk 函数,该函数接受三个参数,一个为当前值,一个为当前的索引,最后一个为数组,同时,在该函数里,我们使用 if判断 如果当前值是偶数那么就返回 true,否则,返回 false。

walk 函数返回 true,则代表该元素符合我们需要的元素,如果返回 false,那么就代表该元素不是我们需要的元素。

最后,我们将 walk 函数传入数组 arr 的 every 函数里,同时使用 isPass 接受 every 函数的返回值,因为,我们的数组里的元素不是全部是偶数,因此 every 函数返回了 false。

every循环遍历处理数组元素

使用 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>

程序运行后,控制台输出如下:

32_Javascript every循环遍历数组.png

我们使用数组的 every 函数判断,数组的所有元素是否都大于 0,结果返回 true。

JavaScript数组every方法总结

JavaScript 的数组对象内置了 every 方法用于检测数组中的所有元素是否都符合指定条件,如果只要一个元素不符合指定条件,则返回 false,所有元素都符合要求,则返回 true。JavaScript 数组 every 语法:

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