Javascript 如何使用GoogleApps脚本取消激活表?
我在电子表格中有一个表,我想使用google apps脚本取消Pivot:原始表的每个月行都必须成为新表中的多行。问题是代码没有产生预期的结果 与创建这样结束的数组不同(表中的每一行以一个不同的月份结束): 它正在生成(每行以原始表中该行的最后一个月值结尾): 有人能看出错误吗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
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;i log(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));