如何将函数返回的元组直接解构为该函数的参数传入?
解决方案
使用ES6的扩展运算符(
...)直接解构函数返回的数组,无需临时变量:foo(...foo());扩展运算符会把
foo()返回的数组元素逐个展开,分别作为initial_state和indexer参数传入下一次foo调用,完美匹配函数的参数列表。直接调用
foo(initial_state)的方式不受影响,第二个参数依然会使用默认值0。如果函数返回值可能不是数组(比如某些分支返回单个值),可以在调用时做简单判断,避免扩展非可迭代对象报错:
const result = foo(); foo(...(Array.isArray(result) ? result : [result]));这样无论返回值是数组还是单个值,都能正确映射到函数参数。
内容的提问来源于stack exchange,提问作者manwithcode
相关产品推荐
相关产品推荐

