Javascript Google脚本:获取第n个长度的数组[[x],[y]],以返回x/y值数组[[x1,y1],[x2,y2]等]

Javascript Google脚本:获取第n个长度的数组[[x],[y]],以返回x/y值数组[[x1,y1],[x2,y2]等],javascript,arrays,google-apps-script,map-function,Javascript,Arrays,Google Apps Script,Map Function,我有一个数组: var array1 = [ ["Item1","Item2","Item3","Item4"], ["ItemA","ItemB","ItemC","ItemD"] ]; 尝试将其成对设置为: [ ["Item1", "ItemA"], ["Item2", &

我有一个数组:

var array1 = [ ["Item1","Item2","Item3","Item4"], ["ItemA","ItemB","ItemC","ItemD"] ];
尝试将其成对设置为:

[ ["Item1", "ItemA"], ["Item2", "ItemB"], ["Item3", "ItemC"], ["Item4", "ItemD"] }
我已经能够成功地做到这一点,通过在一张工作表上输出原始数组,使用下面的“transpose”函数(在这个站点上找到),然后在新转置的工作表上执行另一个getDataRange().getValues()调用

function transpose(destSheet) {

  var values = destSheet.getDataRange().getValues; 
  var values = range.getValues();

  // transpose it & write it out
  destSheet.getRange(1,1,values[0].length,values.length)
    .setValues(Object.keys(values[0]).map ( function (columnNumber) {
      return values.map( function (row) {
        return row[columnNumber];
      });
    }));
  
}

对GAS还不熟悉,所以我一直在网上绞尽脑汁,试图找到一个在阵列本身上执行map函数的示例,而不必先将其粘贴到一张表上。

正如我在评论中提到的,我不太确定您试图从Google Apps脚本中实现什么

但是,以下是实现目标所需的javascript部分:

常量数组1=[
[“第1项”、“第2项”、“第3项”、“第4项”],
[“项目A”、“项目B”、“项目C”、“项目D”]
];
const farray1=array1[0].map((μ,col)=>array1.map(r=>r[col]);

控制台日志(farray1)正如我在评论中提到的那样,我不太确定您试图从Google Apps脚本中获得什么

但是,以下是实现目标所需的javascript部分:

常量数组1=[
[“第1项”、“第2项”、“第3项”、“第4项”],
[“项目A”、“项目B”、“项目C”、“项目D”]
];
const farray1=array1[0].map((μ,col)=>array1.map(r=>r[col]);

控制台日志(farray1)多亏了马里奥斯,我成功地完成了这项工作没有问题:

var array1 = [ ["Item1","Item2","Item3","Item4"], ["ItemA","ItemB","ItemC","ItemD"] ];
  Logger.log(array1);
  var array2 = Object.keys(array1[0]).map(function (c) { return array1.map(function (r) { return r[c]; }); });
  Logger.log(array2);

多亏了马里奥斯,我成功了没问题:

var array1 = [ ["Item1","Item2","Item3","Item4"], ["ItemA","ItemB","ItemC","ItemD"] ];
  Logger.log(array1);
  var array2 = Object.keys(array1[0]).map(function (c) { return array1.map(function (r) { return r[c]; }); });
  Logger.log(array2);

什么是
destSheet
?这看起来像一个自定义函数。你如何使用这个功能?顺便说一句,谷歌表单中已经内置了转置功能。您不能将其用作自定义函数。谢谢!!!对不起,我是新来的,刚刚检查了转置函数,并找到了它!!!谢天谢地,老兄,我没有任何想法,只是走错了路!!很高兴这有帮助!我发布了我的答案,解决了你的问题。考虑接受它的点击滴答按钮左边的答案,如果它为你工作。接受!!)我甚至不知道“接受”答案,因为这是我发布的第一个问题。什么是
destSheet
?这看起来像一个自定义函数。你如何使用这个功能?顺便说一句,谷歌表单中已经内置了转置功能。您不能将其用作自定义函数。谢谢!!!对不起,我是新来的,刚刚检查了转置函数,并找到了它!!!谢天谢地,老兄,我没有任何想法,只是走错了路!!很高兴这有帮助!我发布了我的答案,解决了你的问题。考虑接受它的点击滴答按钮左边的答案,如果它为你工作。接受!!)我甚至不知道“接受”答案,因为这是我发布的第一个问题。这有点像我的答案的副本,我不确定它是否增加了额外的价值,但很高兴它为您工作:)您有什么理由喜欢此解决方案而不是上一个答案中提供的解决方案?也请阅读抱歉,我用GAS而不是Javascript重新输入了它。这是我的第一个问题,所以我并没有意识到接受答案等。谢谢你们提供的线索。这是我的答案的一个副本,我不知道它是否增加了额外的价值,但很高兴它为你们工作:)你们有什么理由比上一个答案更喜欢这个解决方案吗?也请阅读抱歉,我用GAS而不是Javascript重新输入了它。这是我的第一个问题,所以我不知道是否接受了答案,等等。谢谢你们的提示。