首页 > 编程笔记 > JavaScript笔记 > JS数组

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

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

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

some() 具体用法如下:

array.some(callbackfn[, thisArg]);

参数说明:
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("全是奇数。");
}

所有教程

优秀文章