返回值: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]