
给定一个整数数组 arr 和一个映射函数 fn,返回一个新数组,并对每个元素应用转换。
返回的数组应创建为 returnedarray[i] = fn(arr[i], i).
请在不使用内置array.map方法的情况下解决。
示例1:
输入: arr = [1,2,3], fn = function plusone(n) { return n + 1; }
输出: [2,3,4]
说明:
const newarray = map(arr, plusone); // [2,3,4]
该函数将数组中的每个值加一。
示例2:
输入: arr = [1,2,3], fn = function plusi(n, i) { return n + i; }
输出: [1,3,5]
说明: 该函数将每个值增加它所在的索引。
云点滴客户解决方案是针对中小企业量身制定的具有简单易用、功能强大、永久免费使用、终身升级维护的智能化客户解决方案。依托功能强大、安全稳定的阿里云平 台,性价比高、扩展性好、安全性高、稳定性好。高内聚低耦合的模块化设计,使得每个模块最大限度的满足需求,相关模块的组合能满足用户的一系列要求。简单 易用的云备份使得用户随时随地简单、安全、可靠的备份客户信息。功能强大的报表统计使得用户大数据分析变的简单,
示例3:
输入: arr = [10,20,30], fn = function constant() { return 42; }
输出: [42,42,42]
说明: 该函数始终返回 42。
限制:
- 0
- -10^9
- fn 返回一个数字
解决方案
/**
* @param {number[]} arr
* @param {Function} fn
* @return {number[]}
*/
var map = function (arr, fn) {
let newArr = [];
for (let i = 0; i < arr.length; i++) {
newArr[i] = fn(arr[i], i);
}
return newArr;
};
代码演练
var map = function (arr, fn) {
这是函数声明。 map 函数接受两个参数:arr(数字数组)和 fn(将应用于数组的每个元素的函数)。
让 newarr = [];
创建一个空数组来存储转换后的数组元素。
for (让 i = 0; i 循环遍历整个输入数组 arr
newarr[i] = fn(arr[i], i);
检查 arr[i] 中的每个数组元素是否满足指定条件并将结果存储到空数组 newarr
返回newarr;
返回包含转换后的元素的新创建的数组。









