tony Stark
tony Stark

Reputation: 53

Appending an array with multiple arrays in google script

I have an array where I send a set of values after an operation on a spreadsheet followed by taking the average. Now I want to return each row also along with the above data.

I thought of using two-dimensional arrays. But I have less clarity in implementing this.


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;

Now i want to send the array rowFirst & rowSecond also

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;

How to send the array with these two data( ie rowFirst and rowSecond) . Please guide me.

Output Expected

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

Upvotes: 0

Views: 3581

Answers (1)

Brian
Brian

Reputation: 4344

To answer your immediate question, you can push an array into another array by using square brackets in push.

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

Based on your comment, you may want to use an Object, not an Array (here's a helpful article on the differences). So, think through why you'd want four variables not associated with anything. Can those be grouped or keyed somehow? There are a number of ways to do this and a simple method is to use dot notation to pair a variable or a data set to an object key.

// 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, ...]
}

Upvotes: 1

Related Questions