【发布时间】:2014-11-19 04:30:30
【问题描述】:
我有一个按原样工作的函数,但我喜欢挑战自己,用 lodash 函数在一行中编写它。我无法让这个特定示例正常工作。
function sum(x,y) {
return (+x)+(+y);
}
var a = function(e, f) {
return Math.pow((e-f),2);
};
var x = _.reduce(arr, function(acc, v, k) {
var c = Math.pow((v-m), 2);
acc += c;
return acc;
}, 0);
var m = 5;
var arr = [4, 2, 5, 8, 6]
我期待 20 个。
这是我一直在尝试但没有运气:
_.reduce(arr, _.partial(sum, _.partialRight(a, m)), 0);
产生 NaN。所以我想也许我可以用 sum 组成第一个函数:
_.reduce(arr, _.compose(_.partialRight(a, m), sum), 0);
产量 131044。
有什么建议吗?
【问题讨论】:
标签: javascript lodash