返回值:Array jQuery.map(arr|obj,callback)
概述
將一個陣列中的元素轉換到另一個陣列中。
作為參數的轉換函式會為每個陣列元素呼叫,而且會給這個轉換函式傳遞一個表示被轉換的元素作為參數。轉換函式可以返回轉換后的值、null(刪除陣列中的專案)或一個包含值的陣列,並擴充套件至原始陣列中。
參數
array,callback Array,Function V1.0
array :待轉換陣列。
callback Array :為每個陣列元素呼叫,而且會給這個轉換函式傳遞一個表示被轉換的元素作為參數。函式可返回任何值。另外,此函式可設定為一個字串,當設定為字串時,將視為“lambda-form”(縮寫形式?),其中 a 代表陣列元素。如“a * a”代表“function(a){ return a * a; }”。
arrayOrObject,callback Array/Object,Function V1.6
arrayOrObject :陣列或者對象。
為每個陣列元素呼叫,而且會給這個轉換函式傳遞一個表示被轉換的元素作為參數。函式可返回任何值。另外,此函式可設定為一個字串,當設定為字串時,將視為「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]
描述:
原陣列中每個元素擴充套件為一個包含其本身和其值加 1 的陣列,並轉換為一個新陣列。
jQuery 程式碼:
$.map( [0,1,2], function(n){
return [ n, n + 1 ];
});
結果:
[0, 1, 1, 2, 2, 3]