array_map

此函数返回一个数组,该数组是基于回调函数的给定数组(或其范围)的修改版本。

您提供一个数组和一个回调方法,给定数组中的每个元素都会调用该函数。回调函数可以返回任何值,该值应用于数组的新副本中的索引。

对所有元素执行回调后,返回修改后的数组(或其受影响的范围)。原始数组为未更改有关这一点,请参阅 array_map_ext

回调函数回调函数

传递到此函数的回调函数应采用以下参数:

语法:

function(element, index);

参数类型描述
elementAny当前数组元素
indexReal当前数组索引

此回调函数应返回一个任何将应用于数组元素的类型的值。

 

语法:

array_map(array, function, [offset], [length]);

参数类型描述
arrayArray要使用的数组
functionFunction要在每个元素上运行的回调函数
offsetReal可选 数组中的偏移量或起始索引。设置负值将从数组的末尾开始计数。然后,起始索引将是 array_length(array) + offset。请参阅:偏移量和长度
lengthReal可选 要遍历的元素数。负值将向后遍历数组(即以索引的降序,例如 2、1、0 而不是 2、3、4)。请参阅:偏移量和长度

 

返回:

Array

 

 

例子:

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]