首页 >web前端 >前端问答 >数组some和every是es6方法吗

数组some和every是es6方法吗

青灯夜游
青灯夜游原创
2022-05-19 17:40:142486浏览

some和every是es6方法。some()和every()是es6 Array对象新增的方法,some()用于检测数组中是否存在符合条件的元素,只要有一个符合就会返回true;而every()用来检测数组的所有元素是否都满足指定的条件。

数组some和every是es6方法吗

本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。

some()和every()是es6 Array对象新增的方法。

  • some()方法:检测数组中是否存在符合条件的元素

  • every()方法:检测数组元素是否全部符合指定条件

es6 some()方法

some() 方法用来检测数组中是否存在符合指定条件的元素,存在(只要有一个符合)就返回 true,不存在就返回 false。

换个角度思考,some() 也可以用来检测数组中的所有元素是否都不符合指定条件,都不符合的话就返回 false,有一个或者多个符合的话就返回 true。

some() 具体用法如下:

array.some(callbackfn[, thisArg]);

参数说明:

  • array:必需参数,一个数组对象。

  • callbackfn:必需参数,一个接收量最多三个参数的函数。some() 方法会为 array 中的每个元素调用 callbackfn 函数,直到 callbackfn 返回 true,或直到到达数组的结尾。

  • thisArg:可选参数,可在 callbackfn 函数中为其引用 this 关键字的对象。如果省略 thisArg,则 undefined 将用作返回 false。

song() 方法会按升序索引顺序对每个数组元素调用 callbackfn 函数,直到 callbackfn 函数返回 true。如果找到导致 callbackfn 返回 true 的元素,则 some() 方法会立即返回 true。如果回调不对任何元素返回 true,则 some() 方法会返回 false。

回调函数语法如下:

function callbackfn(value, index, array);

用户可以使用三个参数来声明回调函数。回调函数的参数说明如下。

  • value:数组元素的值。

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

  • array:包含该元素的数组对象。

some() 方法不为数组中缺少的元素调用该回调函数。除了数组对象之外,some() 方法可由具有 length 属性且具有已按数字编制索引的属性名的任何对象使用,如关联数组、Arguments 等。

示例:检测数组中元素的值是否为奇数

如果 some() 方法检测到偶数,则返回 true,并提示不全是奇数;如果没有检测到偶数,则提示全部是奇数。

function f(value, index, ar) {
    if (value % 2 == 0) {
        return true;
    }
}
var a = [1,15,4,10,11,22];
var evens = a.some(f);
if (evens) {
    console.log("不全是奇数。");
} else {
    console.log("全是奇数。");
}

1.png

es6 every()方法

every() 方法用来判断数组的所有元素是否都满足指定的条件;只有当数组中的所有元素都满足条件时,才返回 true,否则返回 false。

every() 具体用法如下:

array.every(callbackfn[, thisArg]);

参数说明:

  • array:必需参数,一个数组对象。

  • callbackfn:必需参数,一个接收量最多三个参数的函数。every() 方法会为 array 中的每个元素调用 callbackfn函数,直到 callbackfn 返回 false,或直到到达数组的结尾。(回调函数的语法可参考上面的some()方法)

  • thisArg:可选参数,可在 callbackfn 函数中为其引用 this 关键字的对象。如果省略 thisArg,则 undefined 将用作 this 值。

如果 callbackfn 函数为所有数组元素返回 true,则返回值为 true;否则返回值为 false。如果数组没有元素,则 every() 方法将返回 true。

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

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

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

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.png

【相关推荐:javascript视频教程web前端

以上是数组some和every是es6方法吗的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn