将列表展开到函数参数中?
问题描述:
给定一个参数列表和两元数的函数: 将列表展开到函数参数中?
args = [5, 6]
f = ((y,z)->y*z)
如何解开ARGS到函数的参数? - 例如在Python中,你可以这样做:f(*args)
。
我已经试过(更多的JavaScript风格我想):
Function.call.apply(f, args)
# When that failed, tried:
((y,z) -> y*z).call.apply(null, [5,6])
答
使用f(args...)
。
f = (x, y) -> x + y
list = [1, 2]
console.log(f(list...)) # -> 3
你也可以混合和定期提供的参数匹配此:
f = (a, b, c, d) -> a*b + c*d
list = [2, 3]
console.log(f(1, list..., 4)) # -> 1*2 + 3*4 == 14