zoukankan      html  css  js  c++  java
  • jq从数组中删除指定元素(根据自定义条件) 超好用的 $.grep() 方法

    转:

    jQuery.grep()

    什么是jQuery.grep()?

      jQuery.grep()是一个查找满足过滤函数的数组元素的函数。原始数组不受影响,返回值为数组。

    用法介绍:

    写法:

    jQuery.grep( array, function(elementOfArray, indexInArray) [, invert ] )
    

      参数介绍:

    • array
      类型: Array
      用于查询元素的数组。
    • function(elementOfArray, indexInArray)
      类型: Function()
      该函数来处理每项元素的比对。第一个参数是正在被检查的数组的元素,第二个参数是该元素的索引值。该函数应返回一个布尔值。this将是全局的window对象。
      •   elementOfArray--数组元素
      •   indexInArray--元素索引值
    • invert
      类型: Boolean
      如果“invert”为false,或没有提供,函数返回一个“callback”中返回true的所有元素组成的数组,。如果“invert”为true,函数返回一个“callback”中返回false的所有元素组成的数组。    

    举例:过滤出原始数组中值不为 5,并且索引值大于 4 的元素。然后再过滤掉所有值为 9 的元素

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <!DOCTYPE html>
    <html>
    <head>
      <style>
      div { color:blue; }
      p { color:green; margin:0; }
      span { color:red; }
      </style>
      <script src="http://cdn.bootcss.com/jquery/1.11.2/jquery.min.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
    
  • 相关阅读:
    697-数组的度
    1013-将数组分成和相等的三个部分
    linux命令基础
    Fiddler安卓抓包设置
    HTTPS协议
    HTTP协议
    TCP和UDP的区别
    TCP三次握手以及四次挥手
    OSI七层网络模型,数据传输过程解析
    jmeter常用命令(非GUI模式命令)
  • 原文地址:https://www.cnblogs.com/libin6505/p/10194770.html
Copyright © 2011-2022 走看看