WithCoderWithCoderWithCoder

Javascript数组Array学习之some()方法(测试是否有元素满足断言函数)

本文介绍Javascript数组Array的 some() 方法。

Javascript数组Array的 some() 方法用于测试是否有元素满足断言函数

语法

    array.some( function( array[i] , i , array ), o )

参数

    function( array[i] , i , array ),必须,用来检测数组每个元素的断言函数。

        断言函数的参数:

            array[i]     必须,当前遍历的元素的值

            i               可选,当前遍历的元素的索引值

            array        可选,当前遍历的数组对象本身

    o, 可选,调用断言函数时,传递给函数用作 this 的值。 如果省略o,则 this 的值在非严格模式下是全局对象,在严格模式下为 null。

返回值

    如果数组 array 中有至少一个元素调用断言函数时返回真值,则 some() 方法返回true。如果所有元素调用断言函数时都返回假值,则 some() 方法返回false。

some() 方法用来测试数组中是否有元素满足某些条件。它会按照从小到大的顺序遍历数组 array 的元素,并依次对每个元素调用指定的断言函数。如果断言函数返回true(或任何可以转化为true的值),则 some() 方法会停止遍历,并立刻返回true。如果断言函数的每一次调用都返回false(或任何可以转化为false的值),则 some() 返回false。当遍历的数组为空时,some() 返回false。

和 every() 方法不同的是,every() 所有元素都满足指定的条件时才会返回true。

注意

    1. some() 方法不会改变原始数组array;

    2. 当遍历的数组为空时,some() 方法返回false.

举例

    <script>
        var arr = [12345];
        // 判断数组元素是否有小于4
        var rest1 = arr.some((valindex=> {
            return val < 4;
        });
        console.log(rest1); // 结果为true

        // 判断数组元素是否有大于10
        var rest2 = arr.every((valindex=> {
            return val > 10;
        });
        console.log(rest2); // 结果为false

        var arr1 = [];
        var rest3 = arr1.some((valindex=> {
            return val > 0;
        });
        console.log(rest3); // 空数组调用some()方法,返回false
    </script>

欢迎分享交流,转载请注明出处:WithCoder » Javascript数组Array学习之some()方法(测试是否有元素满足断言函数)