jQuery.grep,

作用:grep()方法用于数组元素过滤筛选。

语法:grep(array,callback,invert)。

参数含义:

array:带过滤数组。

callback:数组过滤函数,该函数包含两个参数,第一个是当前数组元素的值

,第二个是数组元素的下标,即元素索引值。

invert:布尔型可选项,默认为false,即返回的是过滤函数处理以后为true

的数组;选项设置为false的时候,返回的是过滤函数处理以后为false的数组

实例:

一、

<!doctype html>
<html >
<head>
  <meta charset="utf-8">
  <title>jQuery.grep demo</title>
  <style>
  div {
    color: blue;
  }
  p {
    color: green;
    margin: 0;
  }
  span {
    color: red;
  }
  </style>
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<div></div>
<p></p>
<span></span>
 
<script>
var arr = [ 1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9, 1 ];
$( "div" ).text( arr.join( ", " ) );
 
arr = jQuery.grep(arr, function( n, i ) {
  return ( n !== 5 && i > 4 );
});
$( "p" ).text( arr.join( ", " ) );
 
arr = jQuery.grep(arr, function( a ) {
  return a !== 9;
});
 
$( "span" ).text( arr.join( ", " ) );
</script>
 
</body>
</html>

运行结果:

1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9, 1
1, 9, 4, 7, 3, 8, 6, 9, 1
1, 4, 7, 3, 8, 6, 1

二、

$.grep( [ 0, 1, 2 ], function( n, i ) {
  return n > 0;
});

运行结果: 

[ 1, 2 ]

三、

$.grep( [ 0, 1, 2 ], function( n, i ) {
    return n > 0;
}, true );

运行结果:

[ 0 ]

实例二和三因为参数invert设置不同,而返回不同的数组。