我想我遗漏了一些东西,但为什么_.add(x, y)
比x + y
更好?
"操作员";当您需要将运算符作为回调传递给某个高阶函数时,像add
、sub
等函数非常有用,例如:
array.reduce(add) // compute a sum
array.sort(sub) // sort array numerically
在某些语言中,您可以直接传递运算符,例如
array.reduce(+)
但Javascript不能做到这一点,因此需要在某个地方定义这些函数。
具体来说,对于lodash,您可以在任何地方使用_.add
;iteratee";是预期的,他们文档中的示例:
function square(n) {
return n * n;
}
var addSquare = _.flow([_.add, square]);
addSquare(1, 2);
或
var zipped = _.zip([1, 2], [10, 20], [100, 200]);
// => [[1, 10, 100], [2, 20, 200]]
_.unzipWith(zipped, _.add);
// => [3, 30, 300]