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

如何在Google Apps Script中为表格对象数组新增计算属性value_4

解决方案

你可以通过两种简单方式给每个对象添加value_4属性,下面是具体实现:

方式一:创建对象时直接计算添加

在把每个对象推入数组前,直接计算value_2 + value_3并赋值给value_4:

function getDatabaseAsObjectArray() {

  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('database');
  const values = sheet.getDataRange().getValues();
  const headers = values[0];
  const databaseAsObjectArray = [];

  for (let i = 1; i < values.length; i++) {
    const entry = {};
    for (let j = 0; j < headers.length; j++) {
      const key = headers[j];
      if (key === '') continue;
      entry[key] = values[i][j];
    }
    // 计算value_4并添加到当前对象
    entry.value_4 = entry.value_2 + entry.value_3;
    databaseAsObjectArray.push(entry);
  }
  
  // 返回处理后的数组,否则调用函数拿不到结果
  return databaseAsObjectArray;
}

方式二:生成数组后统一遍历处理

如果想和原有对象创建逻辑分开,也可以在生成完整数组后,逐个给对象添加属性:

function getDatabaseAsObjectArray() {

  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('database');
  const values = sheet.getDataRange().getValues();
  const headers = values[0];
  const databaseAsObjectArray = [];

  for (let i = 1; i < values.length; i++) {
    const entry = {};
    for (let j = 0; j < headers.length; j++) {
      const key = headers[j];
      if (key === '') continue;
      entry[key] = values[i][j];
    }
    databaseAsObjectArray.push(entry);
  }
  
  // 遍历数组,给每个对象添加value_4
  databaseAsObjectArray.forEach(item => {
    item.value_4 = item.value_2 + item.value_3;
  });
  
  return databaseAsObjectArray;
}

额外提示

如果表格中value_2或value_3可能为空,为避免出现NaN,可以给空值兜底:

entry.value_4 = (entry.value_2 || 0) + (entry.value_3 || 0);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 15:15:11