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