返回值:ArrayjQuery.grep(array, function(elementOfArray, indexInArray), [invert])

Finds the elements of an array which satisfy a filter function. The original array is not affected.

The $.grep() method removes items from an array as necessary so that all remaining items pass a provided test. The test is a function that is passed an array item and the index of the item within the array. Only if the test returns true will the item be in the result array.

The filter function will be passed two arguments: the current array item and its index. The filter function must return 'true' to include the item in the result array.

示例:

Filters the original array of numbers leaving that are not 5 and have an index greater than 4. Then it removes all 9s.

<!DOCTYPE html>
<html>
<head>
<style>
  div { color:blue; }
  p { color:green; margin:0; }
  span { color:red; }
  </style>
<script src="jquery.min.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>
演示:

示例:

Filter an array of numbers to include only numbers bigger then zero.

jQuery 代码:
$.grep( [0,1,2], function(n,i){
   return n > 0;
 });
结果:
[1, 2] 

示例:

Filter an array of numbers to include numbers that are not bigger than zero.

jQuery 代码:
$.grep( [0,1,2], function(n,i){
    return n > 0;
},true);
结果:
[0]