1.jQuery.grep( array, function(elementOfArray, indexInArray) [, invert ] )
描述: 查找满足过滤函数的数组元素。原始数组不受影响。
-
array Type: ArrayLikeObject 用于查询元素的类数组对象.
-
function Type: Function( Object elementOfArray, Integer indexInArray ) => Boolean该函数来处理每项元素的比对。第一个参数是正在被检查的数组的元素,第二个参数是该元素的索引值。该函数应返回一个布尔值。
this将是全局的window对象。 -
invert Type: Boolean 如果“invert”为false,或没有提供,函数返回一个“callback”中返回true的所有元素组成的数组。如果“invert”为true,函数返回一个“callback”中返回false的所有元素组成的数组。
$.grep()方法会删除数组必要的元素,以使所有剩余元素通过过滤函数的检查。该测试是一个函数传递一个数组元素和该数组内这个的索引值。只有当测试返回true,该数组元素将返回到结果数组中。
该过滤器的函数将被传递两个参数:当前正在被检查的数组中的元素,及该元素的索引值。该过滤器函数必须返回'true'以包含在结果数组项。
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <style> 5 div { color:blue; } 6 p { color:green; margin:0; } 7 span { color:red; } 8 </style> 9 <script src="http://code.jquery.com/jquery-latest.js"></script> 10 </head> 11 <body> 12 <div></div> 13 <p></p> 14 <span></span> 15 16 <script> 17 var arr = [ 1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9, 1 ]; 18 $("div").text(arr.join(", ")); 19 20 arr = jQuery.grep(arr, function(n, i){ 21 return (n != 5 && i > 4); 22 }); 23 $("p").text(arr.join(", ")); 24 25 arr = jQuery.grep(arr, function (a) { return a != 9; }); 26 $("span").text(arr.join(", ")); 27 28 </script> 29 30 </body> 31 </html>