此函数返回一个新数组,该数组是基于回调函数的给定数组(或其范围)的修改版本。
您提供一个数组和一个回调方法,给定数组中的每个元素都会调用该函数。回调函数可以返回任何值,该值应用于数组的新副本中的索引。
对所有元素执行回调后,返回修改后的数组(或其受影响的范围)。原始数组为未更改有关这一点,请参阅 array_map_ext。
传递到此函数的回调函数应采用以下参数:
function(element, index);
参数 | 类型 | 描述 |
---|---|---|
element | Any | 当前数组元素 |
index | Real | 当前数组索引 |
此回调函数应返回一个任何将应用于数组元素的类型的值。
array_map(array, function, [offset], [length]);
参数 | 类型 | 描述 |
---|---|---|
array | Array | 要使用的数组 |
function | Function | 要在每个元素上运行的回调函数 |
offset | Real | 可选 数组中的偏移量或起始索引。设置负值将从数组的末尾开始计数。然后,起始索引将是 array_length(array) + offset。请参阅:偏移量和长度 |
length | Real | 可选 要遍历的元素数。负值将向后遍历数组(即以索引的降序,例如 2、1、0 而不是 2、3、4)。请参阅:偏移量和长度 |
var _numbers = [1, 2, 3, 4, 5];
var _double = function (_element, _index)
{
return _element * 2;
}
var _numbers_doubled = array_map(_numbers, _double);
上面的代码创建了一个数字介于 1 到 5 之间的数组 _numbers。
它创建了一个函数 _double,该函数接受数组元素和索引,并返回乘以 2 的元素。
然后在一个 array_map 调用中使用该函数,该调用返回一个修改后的数组版本,所有数字都加倍:[2,4,6,8,10]。