我为一些任务写了一个简单的地图实现.然后,出于好奇,我又写了两篇.我喜欢map1,但代码有点难以阅读.如果有人感兴趣,我会很感激简单的代码审查.
哪一个更好?你知道在javascript中实现这个的其他方法吗?
var map = function(arr, func) {
var newarr = [];
for (var i = 0; i < arr.length; i++) {
newarr[i] = func(arr[i]);
}
return newarr;
};
var map1 = function(arr, func) {
if (arr.length === 0) return [];
return [func(arr[0])].concat(funcmap(arr.slice(1), func));
};
var map2 = function(arr, func) {
var iter = function(result, i) {
if (i === arr.length) return result;
result.push(func(arr[i]));
return iter(result, i+1);
};
return iter([], 0);
};
Run Code Online (Sandbox Code Playgroud)
谢谢!
编辑
我一般都在考虑这种功能.
例如,现在我将使用它来迭代这样:
map(['class1', 'class2', 'class3'], function(cls) …Run Code Online (Sandbox Code Playgroud)