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

函数参数数量不确定时,如何将数组的数组作为多参数传入?

解决动态传参调用函数的问题

这问题我太熟了!JavaScript里刚好有两个专门处理这种“动态把数组元素拆成函数参数”的方法,完美适配你的场景,给你拆解一下:

方法一:ES6扩展运算符(推荐)

这是最简洁直观的写法,ES6及以后的环境都支持。用...运算符直接把你的数组的数组展开,每个子数组都会自动变成函数的单独参数:

let arr = [[0, 1], [2, 3], [4, 5]];
// 不管arr里有多少个子数组,一行搞定
theFunction(...arr);
// 当arr有3个子数组时,等价于 theFunction(arr[0], arr[1], arr[2])
// 如果arr只有2个,就等价于 theFunction(arr[0], arr[1]),完全自动适配

方法二:apply方法(兼容旧环境)

如果需要兼容ES6之前的旧浏览器/环境,可以用函数的apply方法。它的第二个参数就是一个数组,会把数组里的每个元素作为单独参数传给目标函数:

let arr = [[0, 1], [2, 3], [4, 5]];
// 第一个参数是函数内部的this指向,如果你的函数不需要用到this,传null或者undefined就行
theFunction.apply(null, arr);
// 效果和上面完全一样,自动适配子数组的数量

小提示

优先选扩展运算符,代码更易读也更现代;apply方法留作兼容旧环境的备选就好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:27:33