我有一个数组数组:
var data = [[2,2], [6,4], [300,500]];
我有一个函数,它接受一些参数并返回一个值。
var sum = function (a, b) { return a + b; }
我想将函数应用于数组中的每个项目,例如
FOO(data, sum) === [sum(2,2), sum(6,4), sum(300,500)] === [4, 10, 800]
我希望下划线能够执行“FOO”所做的功能。但我没有看到任何东西。 _.map
很接近,但并不完全。
我知道如何实现FOO功能。
var FOO = function (arrayOfArrays, iterator, context) {
return _.map(arrayOfArrays, function (array) {
return iterator.apply(context, array);
}
)};
我的问题是如何调用 FOO 。我猜测上述模式在函数式编程中很常见,因为已经有一个完善的,与语言无关的名称这个功能。
答案 0 :(得分:0)
在我看来,已经有一个标准的Javascript方法用于数组,forEach(),它可以做你想要的。例如:
data.forEach(sum);
那么,你真的需要一个新的FOO吗?如果是这样,你可以将它命名为“forEach”,并将上述逻辑包装起来。