在谷歌脚本中追加具有多个数组的数组

时间:2017-09-20 11:54:38

标签: javascript arrays google-apps-script

我有一个数组,我在电子表格上执行操作后发送一组值,然后取平均值。 现在我想要返回每一行以及上面的数据。

我想过使用二维数组。 但是我在实施这一点时的清晰度较低。

for (var i = 0; i < spreadsheetRows.length; i++)
{
    //operations done and variables updated
    variable1=
    variable2=

    variablen=
}

var sendArray = [];

sendArray.push(variable1);
sendArray.push(variable2);
sendArray.push(variable3);
sendArray.push(variable4);
return sendArray;

现在我要发送数组 rowFirst&amp; rowSecond

for (var i = 0; i < spreadsheetRows.length; i++)
{
    //first row of spreadsheet
    rowFirst=[];  //data of first row
    rowSecond=[]; //data of second row

    //operations done and variables updated
    variable1=
    variable2=

    variablen=

}
    var sendArray = [];
    sendArray.push(variable1);
    sendArray.push(variable2);
    sendArray.push(variable3);
    sendArray.push(variable4);

    sendArray.push(rowFirst); // stuck here <---
    sendArray.push(rowSecond);// stuck here <----
    return sendArray;

如何使用这两个数据(即rowFirst和rowSecond)发送数组。请指导我。

预期输出

sendArray=[
    var1,
    var2, 
    var3,
    varn,
    rowFirst=[num1, num2, num3,...numn]
    rowSeocnd=[num1, num2, num3,...numn]
]

1 个答案:

答案 0 :(得分:0)

要回答您的直接问题,您可以使用push中的方括号将数组推送到另一个数组中。

sendArray.push([rowFirst]);
sendArray.push([rowSecond]);

根据您的评论,您可能希望使用对象,而不是数组(here's a helpful article on the differences)。所以,想一想为什么你想要四个与任何东西无关的变量。那些可以以某种方式分组或键入?有很多方法可以做到这一点,一个简单的方法是使用点表示法将变量或数据集配对到对象键。

// declare the object and each array
var sendObject = {}

// from your code...
for (var i = 0; i < spreadsheetRows.length; i++)
{
    //operations done and variables updated
    variable1=
    variable2=

    var rowFirst = [variable1, variable2, ...]
}

// Create the key in the Object and assign the array
sendObject.rowFirst = rowFirst;

The output would be:

sendObject = {
  "rowFirst": [variable1, variable2, ...]
}