返回值:ArrayjQuery.map(arr|obj,callback)
jQuery $.map() 方法概述
將一個(gè)數組中的元素轉換到另一個(gè)數組中。
作為參數的轉換函數會(huì )為每個(gè)數組元素調用,而且會(huì )給這個(gè)轉換函數傳遞一個(gè)表示被轉換的元素作為參數。轉換函數可以返回轉換后的值、null(刪除數組中的項目)或一個(gè)包含值的數組,并擴展至原始數組中。
參數
array,callbackArray,FunctionV1.0
array:待轉換數組。
callbackArray:為每個(gè)數組元素調用,而且會(huì )給這個(gè)轉換函數傳遞一個(gè)表示被轉換的元素作為參數。函數可返回任何值。另外,此函數可設置為一個(gè)字符串,當設置為字符串時(shí),將視為“lambda-form”(縮寫(xiě)形式?),其中 a 代表數組元素。如“a * a”代表“function(a){ return a * a; }”。
arrayOrObject,callbackArray/Object,FunctionV1.6
arrayOrObject:數組或者對象。
為每個(gè)數組元素調用,而且會(huì )給這個(gè)轉換函數傳遞一個(gè)表示被轉換的元素作為參數。函數可返回任何值。另外,此函數可設置為一個(gè)字符串,當設置為字符串時(shí),將視為“l(fā)ambda-form”(縮寫(xiě)形式?),其中 a 代表數組元素。如“a * a”代表“function(a){ return a * a; }”。
示例
描述:
將原數組中每個(gè)元素加 4 轉換為一個(gè)新數組。
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]
描述:
原數組中每個(gè)元素擴展為一個(gè)包含其本身和其值加 1 的數組,并轉換為一個(gè)新數組。
jQuery 代碼:
$.map( [0,1,2], function(n){
return [ n, n + 1 ];
});
結果:
[0, 1, 1, 2, 2, 3]