javascript - 从高阶函数返回数组
问题描述
function map(arr, fn){
for(var i = 0; i <arr.length; i++){
fn(arr[i]);
//some code here
}
}
map([1,2,3,4], function(val){
return console.log(val * 2);
});
我在尝试将结果转换为数组形式时遇到了麻烦。例如,[2,4,6,8]。我觉得我知道该怎么做,但我正在空白。
解决方案
回调 ( fn
) 应该改变手头的数组值并map
返回该数组。见片段。此外:只需使用Array.map
我所说的本机方法(请参阅 mdn)
function map(arr, fn){
for(var i = 0; i <arr.length; i++){
arr[i] = fn(arr[i]);
}
return arr;
}
console.log(
map([1,2,3,4], function(val){ return val*2; })
);
// but hey, who needs it
console.log([1,2,3,4].map(v => v*2));
推荐阅读
- python - 如何在 gp 上运行 python
- javascript - AudioContext 没有在 JavaScript 中正确设置增益
- python - Python工资单生成器
- laravel - Laravel 对单个 eloquent create() 方法执行 2 次查询
- javascript - 提交表单后的成功消息
- python - 如何通过使用 Python 将标签与字符串匹配来映射 XML 标签?
- r - 使用 method="nls" 绘制 3 参数 Weibull 曲线
- r - 防止上传文件拦截
- python - 为什么 eval("1+7" + "6") 在 Python 中输出 77?
- flutter - 使用 Flutter OAuth 获得 301