返回值:ArrayjQuery.map(arr|obj,callback)

概述

將一個數組中的元素轉換到另一個數組中。

作爲參數的轉換函數會爲每個數組元素調用,而且會給這個轉換函數傳遞一個表示被轉換的元素作爲參數。轉換函數可以返回轉換後的值、null(刪除數組中的項目)或一個包含值的數組,並擴展至原始數組中。

參數

array,callbackArray,FunctionV1.0

array:待轉換數組。

callbackArray:为每个数组元素调用,而且会给这个转换函数传递一个表示被转换的元素作为參數。函数可返回任何值。另外,此函数可设置为一个字符串,当设置为字符串时,将视为“lambda-form”(缩写形式?),其中 a 代表数组元素。如“a * a”代表“function(a){ return a * a; }”。

arrayOrObject,callbackArray/Object,FunctionV1.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]