You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

函数调用时如何将数组元素作为单个参数传递?

正确解法:使用扩展运算符 ...

你之前对func(...arr)的理解有误,它完全符合函数的参数要求——扩展运算符会把数组的每个元素拆解成独立参数传递给函数,效果和手动写func(var1, var2, var3)完全一致。

举个实际示例验证:

const arr = ["var1", "var2", "var3"];
function func(a, b, c) {
  console.log(a, b, c); // 输出:var1 var2 var3
}

func(...arr); // 正确调用,等价于func("var1", "var2", "var3")

而你尝试的func(arr.map((elem) => elem))确实无效,因为map返回的仍是一个数组,本质还是给函数传了单个数组参数,不符合要求。

至于手动解构赋值的方式,完全是多余的——扩展运算符不管数组有多少元素,都能一次性把所有元素拆成独立参数传入函数,这就是最简洁高效的方案。

内容的提问来源于stack exchange,提问作者noxi3534

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 16:39:21