站长资讯网
最全最丰富的资讯网站

javascript every()方法是干什么的

在javascript中,every()方法用来检测数组的所有元素是否都满足指定条件(通过回调函数提供),语法“array.every(function(currentValue,index,arr), thisValue)”。

javascript every()方法是干什么的

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

every() 方法用来检测数组的所有元素是否都满足指定条件(通过回调函数提供)。

every() 方法使用指定函数检测数组中的所有元素:

  • 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。

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

语法:

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

参数:

function(currentValue, index,arr):一个回调(callbackfn)函数,不可省略,最多可接受三个参数:

  • value:当前数组元素的值,不可省略。

  • index:当前数组元素的数字索引。

  • array:当前元素属于的数组对象。

thisValue :可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。如果省略了 thisValue ,"this" 的值为 "undefined" 。

every() 方法会按升序顺序对每个数组元素调用一次 callbackfn 函数,直到 callbackfn 函数返回 false。如果找到导致 callbackfn 返回 false 的元素,则 every() 方法会立即返回 false;否则,every() 方法返回 true。every() 方法不为数组中缺少的元素调用该回调函数。

除了数组对象之外,every() 方法可由具有 length 属性具有自己按数字编制索引的属性名的任何对象使用,如关联数组对象、Arguments 等。

示例1

下面示例检测数组中元素是否都为偶数,并进行提示。

function f (value, index, ar) {     if (value % 2 == 0) {         return true;     }else {         return false;     } } var a = [2,4,5,6,8]; if (a.every(f)) {     console.log("都是偶数"); }else{     console.log("不全为偶数"); }

示例2

下面示例检测数组中元素的值是否在指定范围内。范围值通过一个对象来设置。通过本示例演示 thisArg 参数的用法。

var f = function (value) {     if (typrof value !== 'number') {         return false;     }else {         return value >=this.min && value <= this.max;     } var a = [10,15,19]; var obj = {min : 10, max : 20}; if (a.every(f, obj)) {     console.log("都在指定范围内。"); } else {     console.log("部分不在范围内。"); }

【推荐学习:javascript高级教程】

赞(0)
分享到: 更多 (0)