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

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

与 some() 方法类似的还有 every() 方法,它们的区别是:只要数组中有一个元素满足条件,some() 就返回 true;只有当数组中的所有元素都满足条件时,every() 才返回 true。请转到《JS every()》了解详情。

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。

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

示例3

下面示例检测数组中元素的值是否为奇数。如果 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("全是奇数。");
}

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/23117.html

(0)
上一篇 2021年7月20日
下一篇 2021年7月20日

相关推荐

发表回复

登录后才能评论