Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用GoogleApps脚本取消激活表?_Javascript_Arrays_Google Apps Script_Unpivot - Fatal编程技术网

Javascript 如何使用GoogleApps脚本取消激活表?

Javascript 如何使用GoogleApps脚本取消激活表?,javascript,arrays,google-apps-script,unpivot,Javascript,Arrays,Google Apps Script,Unpivot,我在电子表格中有一个表,我想使用google apps脚本取消Pivot:原始表的每个月行都必须成为新表中的多行。问题是代码没有产生预期的结果 与创建这样结束的数组不同(表中的每一行以一个不同的月份结束): 它正在生成(每行以原始表中该行的最后一个月值结尾): 有人能看出错误吗 function myFunction() { var ay_datos = [ ['State', 'Month1', 'Month2', 'Month3', 'Number of months', 'Mo

我在电子表格中有一个表,我想使用google apps脚本取消Pivot:原始表的每个月行都必须成为新表中的多行。问题是代码没有产生预期的结果

与创建这样结束的数组不同(表中的每一行以一个不同的月份结束):

它正在生成(每行以原始表中该行的最后一个月值结尾):

有人能看出错误吗

function myFunction() {
  var ay_datos = [
    ['State', 'Month1', 'Month2', 'Month3', 'Number of months', 'Month'],
    ['California', 'April', 'September', 'December', 3, ''],
    ['Texas', 'January', 'March', '', 2, ''],
  ];
  var ay_new = [
    ['State', 'Month1', 'Month2', 'Month3', 'Number of months', 'Month'],
  ];

  for (i = 1; i < ay_datos.length; i++) {
    var num_months = ay_datos[i][4];
    var ay_linea = ay_datos[i];

    for (j = 0; j < num_months; j++) {
      ay_linea[5] = ay_linea[1 + j];
      ay_new.push(ay_linea);
    }
  }
}
函数myFunction(){
var ay_datos=[
[“州”、“月1”、“月2”、“月3”、“月数”、“月”],
[‘加利福尼亚’、‘四月’、‘九月’、‘十二月’、‘三’、],
['Texas'、'一月'、'三月'、'2'、',
];
var ay_new=[
[“州”、“月1”、“月2”、“月3”、“月数”、“月”],
];
对于(i=1;i
在循环中每次都推送相同的数组。对数组所做的任何修改都将反映在同一数组的所有引用上。用于复制阵列:

  ay_linea[5] = ay_linea[1 + j];
  ay_new.push(ay_linea.slice(0));
实时片段:

函数myFunction(){
常数datos=[
[“州”、“月1”、“月2”、“月3”、“月数”、“月”],
[‘加利福尼亚’、‘四月’、‘九月’、‘十二月’、‘三’、],
['Texas'、'一月'、'三月'、'2'、',
];
新常数=[
[“州”、“月1”、“月2”、“月3”、“月数”、“月”],
];
for(设i=1;ilog(myFunction())您的数据的预期输出是什么?不能正常工作是对问题的无用描述。我们知道这是行不通的。这不是你来这里的原因吗?相反,描述问题:你期望它做什么?Unpivot。是的,但是你期望的确切输出是什么?它产生了什么?它会抛出错误吗?注意@TheMaster我根据你的提示编辑了我的问题。谢谢他们!让我们看看你是否能找到答案。从你的答案中,我可以使用隐藏的部分。谢谢你。@Tanaike很高兴我能帮上忙!
function myFunction() {
  var ay_datos = [
    ['State', 'Month1', 'Month2', 'Month3', 'Number of months', 'Month'],
    ['California', 'April', 'September', 'December', 3, ''],
    ['Texas', 'January', 'March', '', 2, ''],
  ];
  var ay_new = [
    ['State', 'Month1', 'Month2', 'Month3', 'Number of months', 'Month'],
  ];

  for (i = 1; i < ay_datos.length; i++) {
    var num_months = ay_datos[i][4];
    var ay_linea = ay_datos[i];

    for (j = 0; j < num_months; j++) {
      ay_linea[5] = ay_linea[1 + j];
      ay_new.push(ay_linea);
    }
  }
}
  ay_linea[5] = ay_linea[1 + j];
  ay_new.push(ay_linea.slice(0));