WithCoderWithCoderWithCoder

Javascript数组Array学习之filter()方法(数组过滤)

本文介绍Javascript数组Array的 filter() 方法.

Javascript数组Array的 filter() 方法用于对数组进行过滤.它创建一个新数组,新数组中的元素是原始数组中通过断言函数检查返回真值true的所有元素.

语法

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

参数

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

        断言函数的参数:

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

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

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

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

返回值

    返回通过断言函数检查的新数组.如果没有符合条件的元素,则返回空数组.

    filter() 方法按照索引序号从小到大的顺序遍历原始数组array中的元素,对每个元素仅调用一次断言函数.如果断言函数返回true(或者可以转换为true的值),则该元素会被追加到新创建的数组中.一旦测试完array数组中的每一个元素,filter() 方法就会返回新创建的数组.

注意

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

    2. filter() 方法不会对空数组进行检查,执行的结果依旧为空数组.

举例

    <script>
        var arr1 = [12345];
        var arr2 = Array(); // 或 []
        // 过滤值小于4的数组元素
        var rest1 = arr1.filter((valindex=> {
            return val < 4;
        });
        console.log(rest1); // [1,2,3]
        // 空数组过滤
        var rest2 = arr2.filter((valindex=> {
            return val < 5;
        });
        console.log(rest2); // []
    </script>

欢迎分享交流,转载请注明出处:WithCoder » Javascript数组Array学习之filter()方法(数组过滤)