如何将二维数组(带标题)粘贴到另一个工作表中,并使用 GAS 随机设置列标题?

2023-12-04

数据:

[
 ["ID","Variação","Nome Site","Obs"],//Headers
 [11602,185,"Camisa Teste","Teste da Observação"] //To be pasted
]

目的地是这样的:

Obs Nome Site Variação ID

我知道我可以采用下面的方法,但考虑到数据集有超过 40 列,这不太可行:

var data = sheet.getRange(1,1,2,4).getValues();
var obs = data.map(function(e){return e[0];});
var NomeSite = data.map(function(e){return e[1];});
...

在这种情况下,我将如何找到标题并“粘贴”数据?

谢谢你!


我相信您的目标如下。

  • 您想根据预期的标头重新排列这些值。

既然如此,下面的修改如何?

修改后的脚本:

var expectedHeader = ["Obs", "Nome Site", "Variação", "ID"]; // Please set your expected header.

// This sample value is from your question.
var data = [
  ["ID", "Variação", "Nome Site", "Obs"],
  [11602, 185, "Camisa Teste", "Teste da Observação"]
];

var [headers, ...rows] = data;
const obj = rows.map(r => headers.reduce((o, h, j) => (o[h] = r[j], o), {}));
var res = obj.map(o => expectedHeader.map(h => o[h] || ""));
console.log(res) // [["Teste da Observação","Camisa Teste",185,11602]]
  • 当使用这个脚本时,[11602, 185, "Camisa Teste", "Teste da Observação"]被重新排列为["Teste da Observação","Camisa Teste",185,11602].

参考:

  • map()
  • reduce()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将二维数组(带标题)粘贴到另一个工作表中,并使用 GAS 随机设置列标题? 的相关文章

随机推荐