如何在JavaScript Google脚本中从函数返回两个二维数组?
正确返回两个二维数组的方法
你的代码逻辑本身是正确的,问题出在函数调用方式上,以下是修正说明和验证:
核心问题
你提到“实际得到test[0] = ["A","B","C"]”,这是因为你直接访问了函数对象的[0]属性,而没有执行函数获取返回值。test是函数本身,只有通过test()执行它,才能得到你定义的包含两个二维数组的返回数组。
正确实现与调用
修正后的函数(建议添加变量声明避免全局污染)
function test() { // 执行操作获取二维数组 const ary1 = [ ["A","B","C"], ["M","N","O"] ]; // 执行其他操作获取二维数组 const ary2 = [ ["X","Y","Z"], ["M","N","O"] ]; return [ary1, ary2]; }
正确调用方式
// 先执行函数,获取返回的数组 const result = test(); // 访问返回数组的元素,得到目标二维数组 console.log(result[0]); // 输出 [ ["A","B","C"], ["M","N","O"] ] console.log(result[1]); // 输出 [ ["X","Y","Z"], ["M","N","O"] ]
补充说明
- 你之前的代码中未使用
const/let声明ary1和ary2,会将变量挂载到全局作用域,建议始终用声明语句定义变量,避免意外的全局污染。 - 函数返回多个值的方式(用数组包裹返回)在JavaScript中是完全合法的,无论内部是一维还是二维数组,逻辑都是一致的——本质是返回一个包含多个元素的数组,每个元素可以是任意类型(包括二维数组)。
内容的提问来源于stack exchange,提问作者Einarr
相关产品推荐
相关产品推荐

