當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JQuery jQuery.grep()用法及代碼示例


用法
jQuery.grep( array, function [, invert ] ) => Array

說明:查找數組中滿足過濾函數的元素。原始數組不受影響。

  • 添加的版本:1.0jQuery.grep( array, function [, invert ] )

    • array
      要搜索的 array-like 對象。
    • function
      類型:Function (Object elementOfArray, Integer indexInArray) => Boolean
      處理每個項目的函數。函數的第一個參數是項目,第二個參數是索引。該函數應返回一個布爾值。 this 將是全局窗口對象。
    • invert
      類型:Boolean
      如果"invert" 為假或未提供,則該函數返回一個數組,該數組由"callback" 返回真的所有元素組成。如果"invert" 為真,則函數返回一個數組,該數組由"callback" 返回假的所有元素組成。

$.grep() 方法根據需要從數組中刪除項目,以便所有剩餘項目通過提供的測試。測試是一個函數,它傳遞一個數組項和數組中該項的索引。隻有當測試返回 true 時,該項目才會在結果數組中。

過濾器函數將傳遞兩個參數:當前數組項及其索引。過濾器函數必須返回 'true' 以將項目包含在結果數組中。

例子:

過濾原始數組中留下的不是 5 且索引大於 4 的數字。然後刪除所有 9。

<!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="https://code.jquery.com/jquery-3.5.0.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>

演示:

過濾一個數字數組以僅包含大於零的數字。

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

結果:

[ 1, 2 ]

過濾一個數字數組以包含不大於零的數字。

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

結果:

[ 0 ]

相關用法


注:本文由純淨天空篩選整理自jquery.com大神的英文原創作品 jQuery.grep()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。