jQuery.grep() 函数详解

jQuery.grep()函数用于使用指定的函数过滤数组中的元素,并返回过滤后的数组

源数组不会受到影响,过滤结果只反映在返回的结果数组中。

该函数属于全局jQuery对象。

语法

JavaScript:

jQuery.grep( array, function [, invert ] )

参数

参数 描述
array Array类型将被过滤的数组。
function Function类型指定的过滤函数。
invert 可选/Boolean类型默认值为false。指定是否反转过滤结果。

注意事项

  • 该函数将遍历数组元素,并执行过滤函数function。它会为function提供两个参数:其一为当前迭代的数组元素,其二是当前迭代元素在数组中的索引。
  • 如果未指定invert参数,或该参数为false,则结果数组将包含function返回true的所有元素。如果参数inverttrue,则结果数组将包含function返回false的所有元素。

返回值

jQuery.grep()函数的返回值为Array类型,返回通过指定函数过滤后的结果数组。

示例&说明

jQuery.grep()函数的jQuery示例代码如下:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>jq源码分析</title>
    <script src="jquery-2.0.3.js"></script>
</head>

<body>
    <script>
        //在当前页面内追加换行标签和指定的HTML内容
        function w(html) {
            document.body.innerHTML += "<br/>" + html;
        }


        var arr = [10, 25, 3, 0, -3, 20, 6, 8, 11];

        function filter(value, index) {
            return value > 10;
        }

        var result = $.grep(arr, filter);
        // 保留了所有大于10的元素
        w(result); // 25,20,11


        var result2 = $.grep(arr, filter, true);
        // 保留了所有不大于10的元素
        w(result2); // 10,3,0,-3,6,8
    </script>
</body>

</html>

 结果:

发布了139 篇原创文章 · 获赞 27 · 访问量 24万+

猜你喜欢

转载自blog.csdn.net/chunchun1230/article/details/104176974