我有一个正常工作的功能,但我喜欢使用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。
有什么建议吗?
答案 0 :(得分:0)
您的原始功能已经是#34;一行,使用Lodash功能":
var x = _.reduce(arr, function(acc, v, k) { return acc + Math.pow(v-m, 2); }, 0);