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

Google Apps Script中向二维数组添加值结果不符合预期的问题

解决Google Apps Script二维数组添加值的格式问题

你的代码输出不符合预期的原因是:fruitArray中的每个元素本身就是一个子数组(比如['apple']),直接将value(即子数组)和"name"一起push到新数组时,会形成三层嵌套的结构。

以下是几种修正方案:

方案1:直接取子数组的第一个元素

通过value[0]获取子数组中的具体值,再和"name"组成新的子数组:

function fruitList() {
  var fruitArray = [['apple'], ['banana'], ['cherry']];
  var newArray = [];

  fruitArray.forEach(function(value) {
    newArray.push([value[0], "name"]);
  });
  Logger.log(newArray); // 输出:[ [ 'apple', 'name' ], [ 'banana', 'name' ], [ 'cherry', 'name' ] ]
}

方案2:使用扩展运算符展开子数组

利用ES6扩展运算符...展开原有的子数组,再追加"name",这种方式更灵活(即使原数组的子数组有多个元素也适用):

function fruitList() {
  var fruitArray = [['apple'], ['banana'], ['cherry']];
  var newArray = [];

  fruitArray.forEach(function(value) {
    newArray.push([...value, "name"]);
  });
  Logger.log(newArray);
}

方案3:用map方法简化代码

map方法可以直接遍历数组并返回处理后的新数组,代码更简洁:

function fruitList() {
  var fruitArray = [['apple'], ['banana'], ['cherry']];
  var newArray = fruitArray.map(value => [...value, "name"]);
  // 也可以写成:value => [value[0], "name"]
  Logger.log(newArray);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 12:05:13