0

Here I want to push objects inside inner array of array. How can I do it?

ticketsToAdd = [];
ticketsToAdd.push({
    "TicketId": "",
    "Attendees": []
})

for(var i=0; i<5; i++) {
    ticketsToAdd['Attendees'].push({
                        "EmailID": "",
                        "Phone": "",
                        "FirstName": "",
                        "LastName": "",
                        "Company": ""                          
    })
}
1
  • 1
    Change ticketsToAdd['Attendees'].push( to ticketsToAdd[i]['Attendees'].push( Commented Feb 2, 2017 at 9:29

3 Answers 3

5

You need an index for access an array element.

ticketsToAdd[0]['Attendees'].push();
//          ^^^

var ticketsToAdd = [],
    i;

ticketsToAdd.push({ TicketId: "", Attendees: [] });

for (i = 0; i < 5; i++) {
    ticketsToAdd[0]['Attendees'].push({ EmailID: "", Phone: "", FirstName: "", LastName: "", Company: "" });
}

console.log(ticketsToAdd);
.as-console-wrapper { max-height: 100% !important; top: 0; }

Sign up to request clarification or add additional context in comments.

Comments

2

You don't have an array inside an array.

You have an array inside an object inside an array.

You need to first access the object before you can access the array inside it.

ticketsToAdd[0].Attendees.push(...)

Comments

1

If you push only one time into ticketsToAdd array,

use,

for(var i=0; i<5; i++) {
        ticketsToAdd[0]['Attendees'].push({
        "EmailID": "",
        "Phone": "",
        "FirstName": "",
        "LastName": "",
        "Company": ""                          
        })  
    }

But, If you push multiple times, you have to use the index i

Since you are adding more objects into ticketsToAdd array, while inserting data into that array, use the number i from the iteration.

use ticketsToAdd.length to get the length first.

var ticketsToAdd = [];
ticketsToAdd.push({
    "TicketId": "",
    "Attendees": []
})

for(var i=0; i<ticketsToAdd.length; i++) {
  for(var y = 0; y<5; y++)
   {
      ticketsToAdd[i]['Attendees'].push({
        "EmailID": "",
        "Phone": "",
        "FirstName": "",
        "LastName": "",
        "Company": ""
       })                          
   }   
}

This gets all the objects from the array and pushes 5 times in each of it.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.