作用:grep()方法用于数组元素过滤筛选。
语法:grep(array,callback,invert)。
参数含义:
array:带过滤数组。
callback:数组过滤函数,该函数包含两个参数,第一个是当前数组元素的值
,第二个是数组元素的下标,即元素索引值。
invert:布尔型可选项,默认为false,即返回的是过滤函数处理以后为true
的数组;选项设置为false的时候,返回的是过滤函数处理以后为false的数组
。
实例:
一、
<!doctype html> <html lang="en"> <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设置不同,而返回不同的数组。