解析jQuery下的$.grep()方法和$.map()方法
阿新 • • 發佈:2019-02-12
所以現在返回的是[0,1,2],也就是被callback函式過濾掉的元素。
(2)$.map()方法
jQuery.map(array,callback)
將一個數組中的元素轉換到另一個數組中。
作為引數的轉換函式會為每個陣列元素呼叫,而且會給這個轉換函式傳遞一個表示被轉換的元素作為引數。轉換函式可以返回轉換後的值、null(刪除陣列中的專案)或一 個包含值的陣列,並擴充套件至原始陣列中。
(2)$.map()方法
jQuery.map(array,callback)
將一個數組中的元素轉換到另一個數組中。
作為引數的轉換函式會為每個陣列元素呼叫,而且會給這個轉換函式傳遞一個表示被轉換的元素作為引數。轉換函式可以返回轉換後的值、null(刪除陣列中的專案)或一 個包含值的陣列,並擴充套件至原始陣列中。
引數
array (Array) : 待轉換陣列。
callback (Function) : 為每個陣列元素呼叫,而且會給這個轉換函式傳遞一個表示被轉換的元素作為引數。函式可返回任何值。另外,此函式可設定為一個字串,當設定為字串時,將視為“lambda-form”(縮寫形式?),其中 a 代表陣列元素。如“a * a”代表“function(a){ return a * a; }”。
示例
將原陣列中每個元素加 4 轉換為一個新陣列。
jQuery 程式碼:
$.map( [0,1,2], function(n){
return n + 4;
});
結果:
[4, 5, 6]
原陣列中大於 0 的元素加 1 ,否則刪除。
jQuery 程式碼:
$.map( [0,1,2], function(n){
return n > 0 ? n + 1 : null;
});
結果:
[2, 3]