当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。