作用: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設置不同,而返回不同的數組。
