JQuery中的杂项方法---grep()

来源:互联网 发布:詹姆斯场均数据 编辑:程序博客网 时间:2024/06/08 13:28

过滤原始数组grep()方法

语法:
$.grep(array,function[,invert])

参数 描述 array 将被过滤的数组 function 指定的过滤函数。该函数中有两个参数,第一个是当前数组元素的值,一个是当前数组元素的下标,即元素索引值。此函数返回一个布尔值 invert 布尔类型可选,默认false。指定是否反转过滤结果。如果为true 则结果数组将包含function返回false的所有元素。

例子:

var array = [0,1,2,3,4,5,6]var arr = $.grep(array,function(item,index){    return item>2})console.log(arr)  //结果为[3,4,5,6]

invert为true时:

var array = [0,1,2,3,4,5,6]var arr = $.grep(array,function(item,index){    return item>2},true)console.log(arr)  //结果为[0,1,2]就是被function过滤掉的元素,即function中返回false的元素。

JQuery中的源码:

grep: function( elems, callback, inv ) {        var retVal,            ret = [],            i = 0,            length = elems.length;        inv = !!inv;        // Go through the array, only saving the items        // that pass the validator function        for ( ; i < length; i++ ) {            retVal = !!callback( elems[ i ], i );            if ( inv !== retVal ) {                ret.push( elems[ i ] );            }        }        return ret;    }