首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >向数组中添加第4列,并使新列=前3列的级联值

向数组中添加第4列,并使新列=前3列的级联值
EN

Stack Overflow用户
提问于 2020-06-25 03:30:14
回答 3查看 135关注 0票数 1

你好,在google应用程序脚本表中,我试图弄清楚如何将第4列添加到一个现有的、完全填充的3列数组中。第4列将被设置为前3列的级联和操作字符串。

我的最终目标是从前3个值中创建一个sql数据库插入字符串。例如,如果数组行为1, 2,3列,则将其设置为插入表值(1、2、3);(而不是编程数据库连接,而是插入的实际SQL字符串)

你能帮我解决我如何在数组中工作的语法或伪代码吗?我们非常感谢你的帮助

类似于:

代码语言:javascript
运行
复制
const range=SheetHistory.getDataRange();
var array=range.getValues();

/*pseudo code*/
array = array + 4th column //add a 4th column to the array or move data to a new 4 column array
For x = 1 through end of array ++x) // loop through array
 Array [x,4] = [x,1] & [x,3] [x,4] // set column 4 for each row = to a concatenated string derived from columns 1,2,3 for that row
next x // repeat until end of array
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-06-25 04:04:17

您可以简单地遍历整个数组,并在每行索引处添加第四列的值,如

代码语言:javascript
运行
复制
for (var i = 0; i < array.length ; i++) {
array[i]["4th column"]=String(array[i]["1"])+String(array[i]["2"])+String(array[i]["3"]);
}
票数 1
EN

Stack Overflow用户

发布于 2020-06-25 04:03:16

试试这个:

代码语言:javascript
运行
复制
 function addAColumn() {
  const ss=SpreadsheetApp.getActive();
  const sh=ss.getActiveSheet();
  const rg=sh.getRange(1,1,sh.getLastRow(),sh.getLastColumn()+1);//add a column here
  var vs=rg.getValues().map(function(r){return[r[0],r[1],r[2],String(r[0])+String(r[1])+String(r[2])];});//fill it here
  sh.getRange(sh.getLastRow()+1,1,vs.length,vs[0].length).setValues(vs);
}

此函数将向3列电子表格中添加一列,第四列中填充前3列的字符串和。

票数 1
EN

Stack Overflow用户

发布于 2020-06-25 08:24:33

这很简单,诀窍是您的数组是由行(第一维度)和列(第二维度)组成的2D数组。因此,对于数组中的每一行,连接所有列并将结果存储在行中的一个新列中就可以做到这一点。

例如:

代码语言:javascript
运行
复制
function makeSQLString() {
  const range=SpreadsheetApp.getActiveSheet().getDataRange();
  var array=range.getValues();
  for (var i = 0; i < array.length ; i++) {
    array[i][3]=String(array[i][0])+String(array[i][1])+String(array[i][2]);
  }
  console.log(array);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62567415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档