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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM