How to add an object to an array










254















How can I add an object to an array (in javascript or jquery)?
For example, what is the problem with this code?



function()
var a = new array();
var b = new object();
a[0]=b;



I would like to use this code to save many objects in the array of function1 and call function2 to use the object in the array.



  1. How can I save an object in an array?

  2. How can I put an object in an array and save it to a variable?









share|improve this question



















  • 10





    Please don't correct errors in posted code, as edit 5 did. If you correct a simple error in the question, often there is no reason for the answer to exist.

    – Paul
    Aug 6 '15 at 3:01











  • Also, push has been suggested multiple times here already. Please, do not pollute this thread anymore with another push suggestion.

    – Boghyon Hoffmann
    Apr 14 '18 at 14:17















254















How can I add an object to an array (in javascript or jquery)?
For example, what is the problem with this code?



function()
var a = new array();
var b = new object();
a[0]=b;



I would like to use this code to save many objects in the array of function1 and call function2 to use the object in the array.



  1. How can I save an object in an array?

  2. How can I put an object in an array and save it to a variable?









share|improve this question



















  • 10





    Please don't correct errors in posted code, as edit 5 did. If you correct a simple error in the question, often there is no reason for the answer to exist.

    – Paul
    Aug 6 '15 at 3:01











  • Also, push has been suggested multiple times here already. Please, do not pollute this thread anymore with another push suggestion.

    – Boghyon Hoffmann
    Apr 14 '18 at 14:17













254












254








254


72






How can I add an object to an array (in javascript or jquery)?
For example, what is the problem with this code?



function()
var a = new array();
var b = new object();
a[0]=b;



I would like to use this code to save many objects in the array of function1 and call function2 to use the object in the array.



  1. How can I save an object in an array?

  2. How can I put an object in an array and save it to a variable?









share|improve this question
















How can I add an object to an array (in javascript or jquery)?
For example, what is the problem with this code?



function()
var a = new array();
var b = new object();
a[0]=b;



I would like to use this code to save many objects in the array of function1 and call function2 to use the object in the array.



  1. How can I save an object in an array?

  2. How can I put an object in an array and save it to a variable?






javascript arrays object






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Feb 18 '18 at 14:29









Hassan Imam

11.7k31330




11.7k31330










asked Jun 6 '11 at 15:05









nasernaser

1,40231112




1,40231112







  • 10





    Please don't correct errors in posted code, as edit 5 did. If you correct a simple error in the question, often there is no reason for the answer to exist.

    – Paul
    Aug 6 '15 at 3:01











  • Also, push has been suggested multiple times here already. Please, do not pollute this thread anymore with another push suggestion.

    – Boghyon Hoffmann
    Apr 14 '18 at 14:17












  • 10





    Please don't correct errors in posted code, as edit 5 did. If you correct a simple error in the question, often there is no reason for the answer to exist.

    – Paul
    Aug 6 '15 at 3:01











  • Also, push has been suggested multiple times here already. Please, do not pollute this thread anymore with another push suggestion.

    – Boghyon Hoffmann
    Apr 14 '18 at 14:17







10




10





Please don't correct errors in posted code, as edit 5 did. If you correct a simple error in the question, often there is no reason for the answer to exist.

– Paul
Aug 6 '15 at 3:01





Please don't correct errors in posted code, as edit 5 did. If you correct a simple error in the question, often there is no reason for the answer to exist.

– Paul
Aug 6 '15 at 3:01













Also, push has been suggested multiple times here already. Please, do not pollute this thread anymore with another push suggestion.

– Boghyon Hoffmann
Apr 14 '18 at 14:17





Also, push has been suggested multiple times here already. Please, do not pollute this thread anymore with another push suggestion.

– Boghyon Hoffmann
Apr 14 '18 at 14:17












13 Answers
13






active

oldest

votes


















543














Put anything into an array using Array.push().



var a=, b=;
a.push(b);
// a[0] === b;



Extra information on Arrays



Add more than one item at a time



var x = ['a'];
x.push('b', 'c');
// x = ['a', 'b', 'c']


Add items to the beginning of an array



var x = ['c', 'd'];
x.unshift('a', 'b');
// x = ['a', 'b', 'c', 'd']


Add the contents of one array to another



var x = ['a', 'b', 'c'];
var y = ['d', 'e', 'f'];
x.push.apply(x, y);
// x = ['a', 'b', 'c', 'd', 'e', 'f']
// y = ['d', 'e', 'f'] (remains unchanged)


Create a new array from the contents of two arrays



var x = ['a', 'b', 'c'];
var y = ['d', 'e', 'f'];
var z = x.concat(y);
// x = ['a', 'b', 'c'] (remains unchanged)
// y = ['d', 'e', 'f'] (remains unchanged)
// z = ['a', 'b', 'c', 'd', 'e', 'f']





share|improve this answer

























  • I also have a question: myArray = ; myArray.push('text': 'some text', 'id' : 13); and now myArray is empty. So if we try get the value from myArray[0]['text'] it will be empty, why? take.ms/jSvbn

    – fdrv
    Mar 16 '16 at 14:55











  • Something doesn't seem right. Make sure there isn't a scoping problem. Use let/var to declare myArray. Because myArray.push will always mutate myArray.

    – John Strickler
    Mar 16 '16 at 19:14


















46














First of all, there is no object or array. There are Object and Array. Secondly, you can do that:



a = new Array();
b = new Object();
a[0] = b;


Now a will be an array with b as its only element.






share|improve this answer




















  • 3





    +1 for the least overly-complicated answer. I've expanded it below to include an answer to OP's question 2.

    – Sam
    Jun 6 '11 at 15:34


















45














var years = ;
for (i= 2015;i<=2030;i=i+1)

years.push(operator : i)



here array years is having values like



years[0]=operator:2015
years[1]=operator:2016


it continues like this.






share|improve this answer
































    18














    • JavaScript is case-sensitive. Calling new array() and new object() will throw a ReferenceError since they don't exist.

    • It's better to avoid new Array() due to its error-prone behavior.

      Instead, assign the new array with = [val1, val2, val_n]. For objects, use = .

    • There are many ways when it comes to extending an array (as shown in John's answer) but the safest way would be just to use concat instead of push. concat returns a new array, leaving the original array untouched. push mutates the calling array which should be avoided, especially if the array is globally defined.

    • It's also a good practice to freeze the object as well as the new array in order to avoid unintended mutations. A frozen object is neither mutable nor extensible (shallowly).

    Applying those points and to answer your two questions, you could define a function like this:





    function appendObjTo(thatArray, newObj) 
    const frozenObj = Object.freeze(newObj);
    return Object.freeze(thatArray.concat(frozenObj));



    Usage:



    // Given
    const myArray = ["A", "B"];
    // "save it to a variable"
    const newArray = appendObjTo(myArray, hello: "world!");
    // returns: ["A", "B", hello: "world!"]. myArray did not change.





    share|improve this answer

























    • "Usage" is what made this my personal preferred answer.

      – HPWD
      Oct 3 '17 at 20:59











    • @boghyon, I'm curious about the freeze and mutations. Are you talking about changes to the array that could happen directly because of the concat method, or because of changes that might be made to the array from elsewhere in the script while in the process of performing a '.concat()'? If the second, shouldn't this be automatically prevented due to javascript being single-threaded, even in the case of asynchronous code since control should, at least theoretically, not be returned until the method is completed?

      – jdmayfield
      Feb 1 '18 at 19:30












    • @jdmayfield: JS's evaluation strategy is call by object-sharing. When objects are passed around, they're not copied. The mutations in those objects, while being passed around, are always immediately visible to the callers regardless whether the mutator was called asynchronously, completed, or not. Since such side effects often led to bugs, we're returning new object, decoupled from the original one. Making the objects immutable (e.g. via freeze) is just an additional step to prevent unintended mutations.

      – Boghyon Hoffmann
      Feb 1 '18 at 22:36











    • @jdmayfield: But as you might have guessed already, creating new objects every time might become inefficient quickly when the objects get huge. For such cases, there are helpful libs, which make it efficient by leveraging persistent data structures, such as Mori (kinda dead) and Immutable.js. Here is a short introduction to "why immutability": youtu.be/e-5obm1G_FY

      – Boghyon Hoffmann
      Feb 1 '18 at 22:45


















    9














    Using ES6 notation, you can do something like this:



    For appending you can use the spread operator like this:






    var arr1 = [1,2,3]
    var obj = 4
    var newData = [...arr1, obj] // [1,2,3,4]
    console.log(newData);








    share|improve this answer
































      8














      Expanding Gabi Purcaru's answer to include an answer to number 2.



      a = new Array();
      b = new Object();
      a[0] = b;

      var c = a[0]; // c is now the object we inserted into a...





      share|improve this answer






























        6














        obejct is clearly a typo. But both object and array need capital letters.



        You can use short hands for new Array and new Object these are and



        You can push data into the array using .push. This adds it to the end of the array. or you can set an index to contain the data.



        function saveToArray() 
        var o = ;
        o.foo = 42;
        var arr = ;
        arr.push(o);
        return arr;


        function other()
        var arr = saveToArray();
        alert(arr[0]);


        other();





        share|improve this answer























        • Educational post with example, good

          – GoldBishop
          Mar 29 '17 at 13:27


















        3

















        /* array literal */
        var aData = ;

        /* object constructur */
        function Data(firstname, lastname)
        this.firstname = firstname;
        this.lastname = lastname;
        this.fullname = function()
        return (this.firstname + " " + this.lastname);
        ;


        /* store object into array */
        aData.push(new Data("Jhon", "Doe"));
        aData.push(new Data("Anna", "Smith"));
        aData.push(new Data("Black", "Pearl"));

        /* convert array of object into string json */
        var jsonString = JSON.stringify(aData);
        document.write(jsonString);

        /* loop arrray */
        for (var x in aData)
        alert(aData[x].fullname());








        share|improve this answer

























        • And yet another answer with push..

          – Boghyon Hoffmann
          Apr 17 '18 at 12:50


















        2














        a=;
        a.push(['b','c','d','e','f']);





        share|improve this answer




















        • 4





          Hi, welcome to SO. Please don't just dump code as an answer. Explain your thoughts so users can better understand what's going on. Thanks.

          – Cthulhu
          Mar 17 '16 at 9:50






        • 2





          ok got it. I will take care of this in future. thanks for advice...

          – harjinder singh
          Mar 17 '16 at 11:13






        • 2





          you can still edit and explain.

          – Santosh
          Apr 26 '17 at 8:34


















        2














        The way I made object creator with auto list:



        var list = ;

        function saveToArray(x)
        list.push(x);
        ;

        function newObject ()
        saveToArray(this);
        ;





        share|improve this answer






























          2














          On alternativ answer is this.



          if you have and array like this: var contacts = [bob, mary];



          and you want to put another array in this array, you can do that in this way:



          Declare the function constructor



          function add (firstName,lastName,email,phoneNumber) 
          this.firstName = firstName;
          this.lastName = lastName;
          this.email = email;
          this.phoneNumber = phoneNumber;



          make the object from the function:



          var add1 = new add("Alba","Fas","Des@gmail.com","[098] 654365364");


          and add the object in to the array:



          contacts[contacts.length] = add1;





          share|improve this answer






























            0














            You are running into a scope problem if you use your code as such. You have to declare it outside the functions if you plan to use it between them (or if calling, pass it as a parameter).



            var a = new Array();
            var b = new Object();

            function first()
            a.push(b);
            // Alternatively, a[a.length] = b
            // both methods work fine


            function second()
            var c = a[0];


            // code
            first();
            // more code
            second();
            // even more code





            share|improve this answer






























              -1














              You can use this prototype of javascript like this:



              Array.prototype.push.apply(array1, array2,array3);


              => array1 contains the rest of them






              share|improve this answer
























                Your Answer






                StackExchange.ifUsing("editor", function ()
                StackExchange.using("externalEditor", function ()
                StackExchange.using("snippets", function ()
                StackExchange.snippets.init();
                );
                );
                , "code-snippets");

                StackExchange.ready(function()
                var channelOptions =
                tags: "".split(" "),
                id: "1"
                ;
                initTagRenderer("".split(" "), "".split(" "), channelOptions);

                StackExchange.using("externalEditor", function()
                // Have to fire editor after snippets, if snippets enabled
                if (StackExchange.settings.snippets.snippetsEnabled)
                StackExchange.using("snippets", function()
                createEditor();
                );

                else
                createEditor();

                );

                function createEditor()
                StackExchange.prepareEditor(
                heartbeatType: 'answer',
                autoActivateHeartbeat: false,
                convertImagesToLinks: true,
                noModals: true,
                showLowRepImageUploadWarning: true,
                reputationToPostImages: 10,
                bindNavPrevention: true,
                postfix: "",
                imageUploader:
                brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
                contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
                allowUrls: true
                ,
                onDemand: true,
                discardSelector: ".discard-answer"
                ,immediatelyShowMarkdownHelp:true
                );



                );













                draft saved

                draft discarded


















                StackExchange.ready(
                function ()
                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f6254050%2fhow-to-add-an-object-to-an-array%23new-answer', 'question_page');

                );

                Post as a guest















                Required, but never shown

























                13 Answers
                13






                active

                oldest

                votes








                13 Answers
                13






                active

                oldest

                votes









                active

                oldest

                votes






                active

                oldest

                votes









                543














                Put anything into an array using Array.push().



                var a=, b=;
                a.push(b);
                // a[0] === b;



                Extra information on Arrays



                Add more than one item at a time



                var x = ['a'];
                x.push('b', 'c');
                // x = ['a', 'b', 'c']


                Add items to the beginning of an array



                var x = ['c', 'd'];
                x.unshift('a', 'b');
                // x = ['a', 'b', 'c', 'd']


                Add the contents of one array to another



                var x = ['a', 'b', 'c'];
                var y = ['d', 'e', 'f'];
                x.push.apply(x, y);
                // x = ['a', 'b', 'c', 'd', 'e', 'f']
                // y = ['d', 'e', 'f'] (remains unchanged)


                Create a new array from the contents of two arrays



                var x = ['a', 'b', 'c'];
                var y = ['d', 'e', 'f'];
                var z = x.concat(y);
                // x = ['a', 'b', 'c'] (remains unchanged)
                // y = ['d', 'e', 'f'] (remains unchanged)
                // z = ['a', 'b', 'c', 'd', 'e', 'f']





                share|improve this answer

























                • I also have a question: myArray = ; myArray.push('text': 'some text', 'id' : 13); and now myArray is empty. So if we try get the value from myArray[0]['text'] it will be empty, why? take.ms/jSvbn

                  – fdrv
                  Mar 16 '16 at 14:55











                • Something doesn't seem right. Make sure there isn't a scoping problem. Use let/var to declare myArray. Because myArray.push will always mutate myArray.

                  – John Strickler
                  Mar 16 '16 at 19:14















                543














                Put anything into an array using Array.push().



                var a=, b=;
                a.push(b);
                // a[0] === b;



                Extra information on Arrays



                Add more than one item at a time



                var x = ['a'];
                x.push('b', 'c');
                // x = ['a', 'b', 'c']


                Add items to the beginning of an array



                var x = ['c', 'd'];
                x.unshift('a', 'b');
                // x = ['a', 'b', 'c', 'd']


                Add the contents of one array to another



                var x = ['a', 'b', 'c'];
                var y = ['d', 'e', 'f'];
                x.push.apply(x, y);
                // x = ['a', 'b', 'c', 'd', 'e', 'f']
                // y = ['d', 'e', 'f'] (remains unchanged)


                Create a new array from the contents of two arrays



                var x = ['a', 'b', 'c'];
                var y = ['d', 'e', 'f'];
                var z = x.concat(y);
                // x = ['a', 'b', 'c'] (remains unchanged)
                // y = ['d', 'e', 'f'] (remains unchanged)
                // z = ['a', 'b', 'c', 'd', 'e', 'f']





                share|improve this answer

























                • I also have a question: myArray = ; myArray.push('text': 'some text', 'id' : 13); and now myArray is empty. So if we try get the value from myArray[0]['text'] it will be empty, why? take.ms/jSvbn

                  – fdrv
                  Mar 16 '16 at 14:55











                • Something doesn't seem right. Make sure there isn't a scoping problem. Use let/var to declare myArray. Because myArray.push will always mutate myArray.

                  – John Strickler
                  Mar 16 '16 at 19:14













                543












                543








                543







                Put anything into an array using Array.push().



                var a=, b=;
                a.push(b);
                // a[0] === b;



                Extra information on Arrays



                Add more than one item at a time



                var x = ['a'];
                x.push('b', 'c');
                // x = ['a', 'b', 'c']


                Add items to the beginning of an array



                var x = ['c', 'd'];
                x.unshift('a', 'b');
                // x = ['a', 'b', 'c', 'd']


                Add the contents of one array to another



                var x = ['a', 'b', 'c'];
                var y = ['d', 'e', 'f'];
                x.push.apply(x, y);
                // x = ['a', 'b', 'c', 'd', 'e', 'f']
                // y = ['d', 'e', 'f'] (remains unchanged)


                Create a new array from the contents of two arrays



                var x = ['a', 'b', 'c'];
                var y = ['d', 'e', 'f'];
                var z = x.concat(y);
                // x = ['a', 'b', 'c'] (remains unchanged)
                // y = ['d', 'e', 'f'] (remains unchanged)
                // z = ['a', 'b', 'c', 'd', 'e', 'f']





                share|improve this answer















                Put anything into an array using Array.push().



                var a=, b=;
                a.push(b);
                // a[0] === b;



                Extra information on Arrays



                Add more than one item at a time



                var x = ['a'];
                x.push('b', 'c');
                // x = ['a', 'b', 'c']


                Add items to the beginning of an array



                var x = ['c', 'd'];
                x.unshift('a', 'b');
                // x = ['a', 'b', 'c', 'd']


                Add the contents of one array to another



                var x = ['a', 'b', 'c'];
                var y = ['d', 'e', 'f'];
                x.push.apply(x, y);
                // x = ['a', 'b', 'c', 'd', 'e', 'f']
                // y = ['d', 'e', 'f'] (remains unchanged)


                Create a new array from the contents of two arrays



                var x = ['a', 'b', 'c'];
                var y = ['d', 'e', 'f'];
                var z = x.concat(y);
                // x = ['a', 'b', 'c'] (remains unchanged)
                // y = ['d', 'e', 'f'] (remains unchanged)
                // z = ['a', 'b', 'c', 'd', 'e', 'f']






                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Mar 27 '14 at 15:17

























                answered Jun 6 '11 at 15:09









                John StricklerJohn Strickler

                20.6k44364




                20.6k44364












                • I also have a question: myArray = ; myArray.push('text': 'some text', 'id' : 13); and now myArray is empty. So if we try get the value from myArray[0]['text'] it will be empty, why? take.ms/jSvbn

                  – fdrv
                  Mar 16 '16 at 14:55











                • Something doesn't seem right. Make sure there isn't a scoping problem. Use let/var to declare myArray. Because myArray.push will always mutate myArray.

                  – John Strickler
                  Mar 16 '16 at 19:14

















                • I also have a question: myArray = ; myArray.push('text': 'some text', 'id' : 13); and now myArray is empty. So if we try get the value from myArray[0]['text'] it will be empty, why? take.ms/jSvbn

                  – fdrv
                  Mar 16 '16 at 14:55











                • Something doesn't seem right. Make sure there isn't a scoping problem. Use let/var to declare myArray. Because myArray.push will always mutate myArray.

                  – John Strickler
                  Mar 16 '16 at 19:14
















                I also have a question: myArray = ; myArray.push('text': 'some text', 'id' : 13); and now myArray is empty. So if we try get the value from myArray[0]['text'] it will be empty, why? take.ms/jSvbn

                – fdrv
                Mar 16 '16 at 14:55





                I also have a question: myArray = ; myArray.push('text': 'some text', 'id' : 13); and now myArray is empty. So if we try get the value from myArray[0]['text'] it will be empty, why? take.ms/jSvbn

                – fdrv
                Mar 16 '16 at 14:55













                Something doesn't seem right. Make sure there isn't a scoping problem. Use let/var to declare myArray. Because myArray.push will always mutate myArray.

                – John Strickler
                Mar 16 '16 at 19:14





                Something doesn't seem right. Make sure there isn't a scoping problem. Use let/var to declare myArray. Because myArray.push will always mutate myArray.

                – John Strickler
                Mar 16 '16 at 19:14













                46














                First of all, there is no object or array. There are Object and Array. Secondly, you can do that:



                a = new Array();
                b = new Object();
                a[0] = b;


                Now a will be an array with b as its only element.






                share|improve this answer




















                • 3





                  +1 for the least overly-complicated answer. I've expanded it below to include an answer to OP's question 2.

                  – Sam
                  Jun 6 '11 at 15:34















                46














                First of all, there is no object or array. There are Object and Array. Secondly, you can do that:



                a = new Array();
                b = new Object();
                a[0] = b;


                Now a will be an array with b as its only element.






                share|improve this answer




















                • 3





                  +1 for the least overly-complicated answer. I've expanded it below to include an answer to OP's question 2.

                  – Sam
                  Jun 6 '11 at 15:34













                46












                46








                46







                First of all, there is no object or array. There are Object and Array. Secondly, you can do that:



                a = new Array();
                b = new Object();
                a[0] = b;


                Now a will be an array with b as its only element.






                share|improve this answer















                First of all, there is no object or array. There are Object and Array. Secondly, you can do that:



                a = new Array();
                b = new Object();
                a[0] = b;


                Now a will be an array with b as its only element.







                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Jun 22 '15 at 17:15







                user3734304

















                answered Jun 6 '11 at 15:08









                Gabi PurcaruGabi Purcaru

                24k75982




                24k75982







                • 3





                  +1 for the least overly-complicated answer. I've expanded it below to include an answer to OP's question 2.

                  – Sam
                  Jun 6 '11 at 15:34












                • 3





                  +1 for the least overly-complicated answer. I've expanded it below to include an answer to OP's question 2.

                  – Sam
                  Jun 6 '11 at 15:34







                3




                3





                +1 for the least overly-complicated answer. I've expanded it below to include an answer to OP's question 2.

                – Sam
                Jun 6 '11 at 15:34





                +1 for the least overly-complicated answer. I've expanded it below to include an answer to OP's question 2.

                – Sam
                Jun 6 '11 at 15:34











                45














                var years = ;
                for (i= 2015;i<=2030;i=i+1)

                years.push(operator : i)



                here array years is having values like



                years[0]=operator:2015
                years[1]=operator:2016


                it continues like this.






                share|improve this answer





























                  45














                  var years = ;
                  for (i= 2015;i<=2030;i=i+1)

                  years.push(operator : i)



                  here array years is having values like



                  years[0]=operator:2015
                  years[1]=operator:2016


                  it continues like this.






                  share|improve this answer



























                    45












                    45








                    45







                    var years = ;
                    for (i= 2015;i<=2030;i=i+1)

                    years.push(operator : i)



                    here array years is having values like



                    years[0]=operator:2015
                    years[1]=operator:2016


                    it continues like this.






                    share|improve this answer















                    var years = ;
                    for (i= 2015;i<=2030;i=i+1)

                    years.push(operator : i)



                    here array years is having values like



                    years[0]=operator:2015
                    years[1]=operator:2016


                    it continues like this.







                    share|improve this answer














                    share|improve this answer



                    share|improve this answer








                    edited Oct 11 '16 at 4:43

























                    answered Nov 19 '15 at 19:06









                    santhoshsanthosh

                    1,1051628




                    1,1051628





















                        18














                        • JavaScript is case-sensitive. Calling new array() and new object() will throw a ReferenceError since they don't exist.

                        • It's better to avoid new Array() due to its error-prone behavior.

                          Instead, assign the new array with = [val1, val2, val_n]. For objects, use = .

                        • There are many ways when it comes to extending an array (as shown in John's answer) but the safest way would be just to use concat instead of push. concat returns a new array, leaving the original array untouched. push mutates the calling array which should be avoided, especially if the array is globally defined.

                        • It's also a good practice to freeze the object as well as the new array in order to avoid unintended mutations. A frozen object is neither mutable nor extensible (shallowly).

                        Applying those points and to answer your two questions, you could define a function like this:





                        function appendObjTo(thatArray, newObj) 
                        const frozenObj = Object.freeze(newObj);
                        return Object.freeze(thatArray.concat(frozenObj));



                        Usage:



                        // Given
                        const myArray = ["A", "B"];
                        // "save it to a variable"
                        const newArray = appendObjTo(myArray, hello: "world!");
                        // returns: ["A", "B", hello: "world!"]. myArray did not change.





                        share|improve this answer

























                        • "Usage" is what made this my personal preferred answer.

                          – HPWD
                          Oct 3 '17 at 20:59











                        • @boghyon, I'm curious about the freeze and mutations. Are you talking about changes to the array that could happen directly because of the concat method, or because of changes that might be made to the array from elsewhere in the script while in the process of performing a '.concat()'? If the second, shouldn't this be automatically prevented due to javascript being single-threaded, even in the case of asynchronous code since control should, at least theoretically, not be returned until the method is completed?

                          – jdmayfield
                          Feb 1 '18 at 19:30












                        • @jdmayfield: JS's evaluation strategy is call by object-sharing. When objects are passed around, they're not copied. The mutations in those objects, while being passed around, are always immediately visible to the callers regardless whether the mutator was called asynchronously, completed, or not. Since such side effects often led to bugs, we're returning new object, decoupled from the original one. Making the objects immutable (e.g. via freeze) is just an additional step to prevent unintended mutations.

                          – Boghyon Hoffmann
                          Feb 1 '18 at 22:36











                        • @jdmayfield: But as you might have guessed already, creating new objects every time might become inefficient quickly when the objects get huge. For such cases, there are helpful libs, which make it efficient by leveraging persistent data structures, such as Mori (kinda dead) and Immutable.js. Here is a short introduction to "why immutability": youtu.be/e-5obm1G_FY

                          – Boghyon Hoffmann
                          Feb 1 '18 at 22:45















                        18














                        • JavaScript is case-sensitive. Calling new array() and new object() will throw a ReferenceError since they don't exist.

                        • It's better to avoid new Array() due to its error-prone behavior.

                          Instead, assign the new array with = [val1, val2, val_n]. For objects, use = .

                        • There are many ways when it comes to extending an array (as shown in John's answer) but the safest way would be just to use concat instead of push. concat returns a new array, leaving the original array untouched. push mutates the calling array which should be avoided, especially if the array is globally defined.

                        • It's also a good practice to freeze the object as well as the new array in order to avoid unintended mutations. A frozen object is neither mutable nor extensible (shallowly).

                        Applying those points and to answer your two questions, you could define a function like this:





                        function appendObjTo(thatArray, newObj) 
                        const frozenObj = Object.freeze(newObj);
                        return Object.freeze(thatArray.concat(frozenObj));



                        Usage:



                        // Given
                        const myArray = ["A", "B"];
                        // "save it to a variable"
                        const newArray = appendObjTo(myArray, hello: "world!");
                        // returns: ["A", "B", hello: "world!"]. myArray did not change.





                        share|improve this answer

























                        • "Usage" is what made this my personal preferred answer.

                          – HPWD
                          Oct 3 '17 at 20:59











                        • @boghyon, I'm curious about the freeze and mutations. Are you talking about changes to the array that could happen directly because of the concat method, or because of changes that might be made to the array from elsewhere in the script while in the process of performing a '.concat()'? If the second, shouldn't this be automatically prevented due to javascript being single-threaded, even in the case of asynchronous code since control should, at least theoretically, not be returned until the method is completed?

                          – jdmayfield
                          Feb 1 '18 at 19:30












                        • @jdmayfield: JS's evaluation strategy is call by object-sharing. When objects are passed around, they're not copied. The mutations in those objects, while being passed around, are always immediately visible to the callers regardless whether the mutator was called asynchronously, completed, or not. Since such side effects often led to bugs, we're returning new object, decoupled from the original one. Making the objects immutable (e.g. via freeze) is just an additional step to prevent unintended mutations.

                          – Boghyon Hoffmann
                          Feb 1 '18 at 22:36











                        • @jdmayfield: But as you might have guessed already, creating new objects every time might become inefficient quickly when the objects get huge. For such cases, there are helpful libs, which make it efficient by leveraging persistent data structures, such as Mori (kinda dead) and Immutable.js. Here is a short introduction to "why immutability": youtu.be/e-5obm1G_FY

                          – Boghyon Hoffmann
                          Feb 1 '18 at 22:45













                        18












                        18








                        18







                        • JavaScript is case-sensitive. Calling new array() and new object() will throw a ReferenceError since they don't exist.

                        • It's better to avoid new Array() due to its error-prone behavior.

                          Instead, assign the new array with = [val1, val2, val_n]. For objects, use = .

                        • There are many ways when it comes to extending an array (as shown in John's answer) but the safest way would be just to use concat instead of push. concat returns a new array, leaving the original array untouched. push mutates the calling array which should be avoided, especially if the array is globally defined.

                        • It's also a good practice to freeze the object as well as the new array in order to avoid unintended mutations. A frozen object is neither mutable nor extensible (shallowly).

                        Applying those points and to answer your two questions, you could define a function like this:





                        function appendObjTo(thatArray, newObj) 
                        const frozenObj = Object.freeze(newObj);
                        return Object.freeze(thatArray.concat(frozenObj));



                        Usage:



                        // Given
                        const myArray = ["A", "B"];
                        // "save it to a variable"
                        const newArray = appendObjTo(myArray, hello: "world!");
                        // returns: ["A", "B", hello: "world!"]. myArray did not change.





                        share|improve this answer















                        • JavaScript is case-sensitive. Calling new array() and new object() will throw a ReferenceError since they don't exist.

                        • It's better to avoid new Array() due to its error-prone behavior.

                          Instead, assign the new array with = [val1, val2, val_n]. For objects, use = .

                        • There are many ways when it comes to extending an array (as shown in John's answer) but the safest way would be just to use concat instead of push. concat returns a new array, leaving the original array untouched. push mutates the calling array which should be avoided, especially if the array is globally defined.

                        • It's also a good practice to freeze the object as well as the new array in order to avoid unintended mutations. A frozen object is neither mutable nor extensible (shallowly).

                        Applying those points and to answer your two questions, you could define a function like this:





                        function appendObjTo(thatArray, newObj) 
                        const frozenObj = Object.freeze(newObj);
                        return Object.freeze(thatArray.concat(frozenObj));



                        Usage:



                        // Given
                        const myArray = ["A", "B"];
                        // "save it to a variable"
                        const newArray = appendObjTo(myArray, hello: "world!");
                        // returns: ["A", "B", hello: "world!"]. myArray did not change.






                        share|improve this answer














                        share|improve this answer



                        share|improve this answer








                        edited Jan 31 at 9:47

























                        answered Feb 23 '17 at 23:23









                        Boghyon HoffmannBoghyon Hoffmann

                        5,98252656




                        5,98252656












                        • "Usage" is what made this my personal preferred answer.

                          – HPWD
                          Oct 3 '17 at 20:59











                        • @boghyon, I'm curious about the freeze and mutations. Are you talking about changes to the array that could happen directly because of the concat method, or because of changes that might be made to the array from elsewhere in the script while in the process of performing a '.concat()'? If the second, shouldn't this be automatically prevented due to javascript being single-threaded, even in the case of asynchronous code since control should, at least theoretically, not be returned until the method is completed?

                          – jdmayfield
                          Feb 1 '18 at 19:30












                        • @jdmayfield: JS's evaluation strategy is call by object-sharing. When objects are passed around, they're not copied. The mutations in those objects, while being passed around, are always immediately visible to the callers regardless whether the mutator was called asynchronously, completed, or not. Since such side effects often led to bugs, we're returning new object, decoupled from the original one. Making the objects immutable (e.g. via freeze) is just an additional step to prevent unintended mutations.

                          – Boghyon Hoffmann
                          Feb 1 '18 at 22:36











                        • @jdmayfield: But as you might have guessed already, creating new objects every time might become inefficient quickly when the objects get huge. For such cases, there are helpful libs, which make it efficient by leveraging persistent data structures, such as Mori (kinda dead) and Immutable.js. Here is a short introduction to "why immutability": youtu.be/e-5obm1G_FY

                          – Boghyon Hoffmann
                          Feb 1 '18 at 22:45

















                        • "Usage" is what made this my personal preferred answer.

                          – HPWD
                          Oct 3 '17 at 20:59











                        • @boghyon, I'm curious about the freeze and mutations. Are you talking about changes to the array that could happen directly because of the concat method, or because of changes that might be made to the array from elsewhere in the script while in the process of performing a '.concat()'? If the second, shouldn't this be automatically prevented due to javascript being single-threaded, even in the case of asynchronous code since control should, at least theoretically, not be returned until the method is completed?

                          – jdmayfield
                          Feb 1 '18 at 19:30












                        • @jdmayfield: JS's evaluation strategy is call by object-sharing. When objects are passed around, they're not copied. The mutations in those objects, while being passed around, are always immediately visible to the callers regardless whether the mutator was called asynchronously, completed, or not. Since such side effects often led to bugs, we're returning new object, decoupled from the original one. Making the objects immutable (e.g. via freeze) is just an additional step to prevent unintended mutations.

                          – Boghyon Hoffmann
                          Feb 1 '18 at 22:36











                        • @jdmayfield: But as you might have guessed already, creating new objects every time might become inefficient quickly when the objects get huge. For such cases, there are helpful libs, which make it efficient by leveraging persistent data structures, such as Mori (kinda dead) and Immutable.js. Here is a short introduction to "why immutability": youtu.be/e-5obm1G_FY

                          – Boghyon Hoffmann
                          Feb 1 '18 at 22:45
















                        "Usage" is what made this my personal preferred answer.

                        – HPWD
                        Oct 3 '17 at 20:59





                        "Usage" is what made this my personal preferred answer.

                        – HPWD
                        Oct 3 '17 at 20:59













                        @boghyon, I'm curious about the freeze and mutations. Are you talking about changes to the array that could happen directly because of the concat method, or because of changes that might be made to the array from elsewhere in the script while in the process of performing a '.concat()'? If the second, shouldn't this be automatically prevented due to javascript being single-threaded, even in the case of asynchronous code since control should, at least theoretically, not be returned until the method is completed?

                        – jdmayfield
                        Feb 1 '18 at 19:30






                        @boghyon, I'm curious about the freeze and mutations. Are you talking about changes to the array that could happen directly because of the concat method, or because of changes that might be made to the array from elsewhere in the script while in the process of performing a '.concat()'? If the second, shouldn't this be automatically prevented due to javascript being single-threaded, even in the case of asynchronous code since control should, at least theoretically, not be returned until the method is completed?

                        – jdmayfield
                        Feb 1 '18 at 19:30














                        @jdmayfield: JS's evaluation strategy is call by object-sharing. When objects are passed around, they're not copied. The mutations in those objects, while being passed around, are always immediately visible to the callers regardless whether the mutator was called asynchronously, completed, or not. Since such side effects often led to bugs, we're returning new object, decoupled from the original one. Making the objects immutable (e.g. via freeze) is just an additional step to prevent unintended mutations.

                        – Boghyon Hoffmann
                        Feb 1 '18 at 22:36





                        @jdmayfield: JS's evaluation strategy is call by object-sharing. When objects are passed around, they're not copied. The mutations in those objects, while being passed around, are always immediately visible to the callers regardless whether the mutator was called asynchronously, completed, or not. Since such side effects often led to bugs, we're returning new object, decoupled from the original one. Making the objects immutable (e.g. via freeze) is just an additional step to prevent unintended mutations.

                        – Boghyon Hoffmann
                        Feb 1 '18 at 22:36













                        @jdmayfield: But as you might have guessed already, creating new objects every time might become inefficient quickly when the objects get huge. For such cases, there are helpful libs, which make it efficient by leveraging persistent data structures, such as Mori (kinda dead) and Immutable.js. Here is a short introduction to "why immutability": youtu.be/e-5obm1G_FY

                        – Boghyon Hoffmann
                        Feb 1 '18 at 22:45





                        @jdmayfield: But as you might have guessed already, creating new objects every time might become inefficient quickly when the objects get huge. For such cases, there are helpful libs, which make it efficient by leveraging persistent data structures, such as Mori (kinda dead) and Immutable.js. Here is a short introduction to "why immutability": youtu.be/e-5obm1G_FY

                        – Boghyon Hoffmann
                        Feb 1 '18 at 22:45











                        9














                        Using ES6 notation, you can do something like this:



                        For appending you can use the spread operator like this:






                        var arr1 = [1,2,3]
                        var obj = 4
                        var newData = [...arr1, obj] // [1,2,3,4]
                        console.log(newData);








                        share|improve this answer





























                          9














                          Using ES6 notation, you can do something like this:



                          For appending you can use the spread operator like this:






                          var arr1 = [1,2,3]
                          var obj = 4
                          var newData = [...arr1, obj] // [1,2,3,4]
                          console.log(newData);








                          share|improve this answer



























                            9












                            9








                            9







                            Using ES6 notation, you can do something like this:



                            For appending you can use the spread operator like this:






                            var arr1 = [1,2,3]
                            var obj = 4
                            var newData = [...arr1, obj] // [1,2,3,4]
                            console.log(newData);








                            share|improve this answer















                            Using ES6 notation, you can do something like this:



                            For appending you can use the spread operator like this:






                            var arr1 = [1,2,3]
                            var obj = 4
                            var newData = [...arr1, obj] // [1,2,3,4]
                            console.log(newData);








                            var arr1 = [1,2,3]
                            var obj = 4
                            var newData = [...arr1, obj] // [1,2,3,4]
                            console.log(newData);





                            var arr1 = [1,2,3]
                            var obj = 4
                            var newData = [...arr1, obj] // [1,2,3,4]
                            console.log(newData);






                            share|improve this answer














                            share|improve this answer



                            share|improve this answer








                            edited Jan 31 at 7:40









                            mitesh7172

                            165110




                            165110










                            answered Jun 19 '18 at 17:26









                            AayushiAayushi

                            635618




                            635618





















                                8














                                Expanding Gabi Purcaru's answer to include an answer to number 2.



                                a = new Array();
                                b = new Object();
                                a[0] = b;

                                var c = a[0]; // c is now the object we inserted into a...





                                share|improve this answer



























                                  8














                                  Expanding Gabi Purcaru's answer to include an answer to number 2.



                                  a = new Array();
                                  b = new Object();
                                  a[0] = b;

                                  var c = a[0]; // c is now the object we inserted into a...





                                  share|improve this answer

























                                    8












                                    8








                                    8







                                    Expanding Gabi Purcaru's answer to include an answer to number 2.



                                    a = new Array();
                                    b = new Object();
                                    a[0] = b;

                                    var c = a[0]; // c is now the object we inserted into a...





                                    share|improve this answer













                                    Expanding Gabi Purcaru's answer to include an answer to number 2.



                                    a = new Array();
                                    b = new Object();
                                    a[0] = b;

                                    var c = a[0]; // c is now the object we inserted into a...






                                    share|improve this answer












                                    share|improve this answer



                                    share|improve this answer










                                    answered Jun 6 '11 at 15:33









                                    SamSam

                                    2,279103452




                                    2,279103452





















                                        6














                                        obejct is clearly a typo. But both object and array need capital letters.



                                        You can use short hands for new Array and new Object these are and



                                        You can push data into the array using .push. This adds it to the end of the array. or you can set an index to contain the data.



                                        function saveToArray() 
                                        var o = ;
                                        o.foo = 42;
                                        var arr = ;
                                        arr.push(o);
                                        return arr;


                                        function other()
                                        var arr = saveToArray();
                                        alert(arr[0]);


                                        other();





                                        share|improve this answer























                                        • Educational post with example, good

                                          – GoldBishop
                                          Mar 29 '17 at 13:27















                                        6














                                        obejct is clearly a typo. But both object and array need capital letters.



                                        You can use short hands for new Array and new Object these are and



                                        You can push data into the array using .push. This adds it to the end of the array. or you can set an index to contain the data.



                                        function saveToArray() 
                                        var o = ;
                                        o.foo = 42;
                                        var arr = ;
                                        arr.push(o);
                                        return arr;


                                        function other()
                                        var arr = saveToArray();
                                        alert(arr[0]);


                                        other();





                                        share|improve this answer























                                        • Educational post with example, good

                                          – GoldBishop
                                          Mar 29 '17 at 13:27













                                        6












                                        6








                                        6







                                        obejct is clearly a typo. But both object and array need capital letters.



                                        You can use short hands for new Array and new Object these are and



                                        You can push data into the array using .push. This adds it to the end of the array. or you can set an index to contain the data.



                                        function saveToArray() 
                                        var o = ;
                                        o.foo = 42;
                                        var arr = ;
                                        arr.push(o);
                                        return arr;


                                        function other()
                                        var arr = saveToArray();
                                        alert(arr[0]);


                                        other();





                                        share|improve this answer













                                        obejct is clearly a typo. But both object and array need capital letters.



                                        You can use short hands for new Array and new Object these are and



                                        You can push data into the array using .push. This adds it to the end of the array. or you can set an index to contain the data.



                                        function saveToArray() 
                                        var o = ;
                                        o.foo = 42;
                                        var arr = ;
                                        arr.push(o);
                                        return arr;


                                        function other()
                                        var arr = saveToArray();
                                        alert(arr[0]);


                                        other();






                                        share|improve this answer












                                        share|improve this answer



                                        share|improve this answer










                                        answered Jun 6 '11 at 15:10









                                        RaynosRaynos

                                        133k41314372




                                        133k41314372












                                        • Educational post with example, good

                                          – GoldBishop
                                          Mar 29 '17 at 13:27

















                                        • Educational post with example, good

                                          – GoldBishop
                                          Mar 29 '17 at 13:27
















                                        Educational post with example, good

                                        – GoldBishop
                                        Mar 29 '17 at 13:27





                                        Educational post with example, good

                                        – GoldBishop
                                        Mar 29 '17 at 13:27











                                        3

















                                        /* array literal */
                                        var aData = ;

                                        /* object constructur */
                                        function Data(firstname, lastname)
                                        this.firstname = firstname;
                                        this.lastname = lastname;
                                        this.fullname = function()
                                        return (this.firstname + " " + this.lastname);
                                        ;


                                        /* store object into array */
                                        aData.push(new Data("Jhon", "Doe"));
                                        aData.push(new Data("Anna", "Smith"));
                                        aData.push(new Data("Black", "Pearl"));

                                        /* convert array of object into string json */
                                        var jsonString = JSON.stringify(aData);
                                        document.write(jsonString);

                                        /* loop arrray */
                                        for (var x in aData)
                                        alert(aData[x].fullname());








                                        share|improve this answer

























                                        • And yet another answer with push..

                                          – Boghyon Hoffmann
                                          Apr 17 '18 at 12:50















                                        3

















                                        /* array literal */
                                        var aData = ;

                                        /* object constructur */
                                        function Data(firstname, lastname)
                                        this.firstname = firstname;
                                        this.lastname = lastname;
                                        this.fullname = function()
                                        return (this.firstname + " " + this.lastname);
                                        ;


                                        /* store object into array */
                                        aData.push(new Data("Jhon", "Doe"));
                                        aData.push(new Data("Anna", "Smith"));
                                        aData.push(new Data("Black", "Pearl"));

                                        /* convert array of object into string json */
                                        var jsonString = JSON.stringify(aData);
                                        document.write(jsonString);

                                        /* loop arrray */
                                        for (var x in aData)
                                        alert(aData[x].fullname());








                                        share|improve this answer

























                                        • And yet another answer with push..

                                          – Boghyon Hoffmann
                                          Apr 17 '18 at 12:50













                                        3












                                        3








                                        3










                                        /* array literal */
                                        var aData = ;

                                        /* object constructur */
                                        function Data(firstname, lastname)
                                        this.firstname = firstname;
                                        this.lastname = lastname;
                                        this.fullname = function()
                                        return (this.firstname + " " + this.lastname);
                                        ;


                                        /* store object into array */
                                        aData.push(new Data("Jhon", "Doe"));
                                        aData.push(new Data("Anna", "Smith"));
                                        aData.push(new Data("Black", "Pearl"));

                                        /* convert array of object into string json */
                                        var jsonString = JSON.stringify(aData);
                                        document.write(jsonString);

                                        /* loop arrray */
                                        for (var x in aData)
                                        alert(aData[x].fullname());








                                        share|improve this answer


















                                        /* array literal */
                                        var aData = ;

                                        /* object constructur */
                                        function Data(firstname, lastname)
                                        this.firstname = firstname;
                                        this.lastname = lastname;
                                        this.fullname = function()
                                        return (this.firstname + " " + this.lastname);
                                        ;


                                        /* store object into array */
                                        aData.push(new Data("Jhon", "Doe"));
                                        aData.push(new Data("Anna", "Smith"));
                                        aData.push(new Data("Black", "Pearl"));

                                        /* convert array of object into string json */
                                        var jsonString = JSON.stringify(aData);
                                        document.write(jsonString);

                                        /* loop arrray */
                                        for (var x in aData)
                                        alert(aData[x].fullname());








                                        /* array literal */
                                        var aData = ;

                                        /* object constructur */
                                        function Data(firstname, lastname)
                                        this.firstname = firstname;
                                        this.lastname = lastname;
                                        this.fullname = function()
                                        return (this.firstname + " " + this.lastname);
                                        ;


                                        /* store object into array */
                                        aData.push(new Data("Jhon", "Doe"));
                                        aData.push(new Data("Anna", "Smith"));
                                        aData.push(new Data("Black", "Pearl"));

                                        /* convert array of object into string json */
                                        var jsonString = JSON.stringify(aData);
                                        document.write(jsonString);

                                        /* loop arrray */
                                        for (var x in aData)
                                        alert(aData[x].fullname());





                                        /* array literal */
                                        var aData = ;

                                        /* object constructur */
                                        function Data(firstname, lastname)
                                        this.firstname = firstname;
                                        this.lastname = lastname;
                                        this.fullname = function()
                                        return (this.firstname + " " + this.lastname);
                                        ;


                                        /* store object into array */
                                        aData.push(new Data("Jhon", "Doe"));
                                        aData.push(new Data("Anna", "Smith"));
                                        aData.push(new Data("Black", "Pearl"));

                                        /* convert array of object into string json */
                                        var jsonString = JSON.stringify(aData);
                                        document.write(jsonString);

                                        /* loop arrray */
                                        for (var x in aData)
                                        alert(aData[x].fullname());






                                        share|improve this answer














                                        share|improve this answer



                                        share|improve this answer








                                        edited Jan 7 '18 at 17:46

























                                        answered Jan 7 '18 at 17:38









                                        anteloveantelove

                                        70547




                                        70547












                                        • And yet another answer with push..

                                          – Boghyon Hoffmann
                                          Apr 17 '18 at 12:50

















                                        • And yet another answer with push..

                                          – Boghyon Hoffmann
                                          Apr 17 '18 at 12:50
















                                        And yet another answer with push..

                                        – Boghyon Hoffmann
                                        Apr 17 '18 at 12:50





                                        And yet another answer with push..

                                        – Boghyon Hoffmann
                                        Apr 17 '18 at 12:50











                                        2














                                        a=;
                                        a.push(['b','c','d','e','f']);





                                        share|improve this answer




















                                        • 4





                                          Hi, welcome to SO. Please don't just dump code as an answer. Explain your thoughts so users can better understand what's going on. Thanks.

                                          – Cthulhu
                                          Mar 17 '16 at 9:50






                                        • 2





                                          ok got it. I will take care of this in future. thanks for advice...

                                          – harjinder singh
                                          Mar 17 '16 at 11:13






                                        • 2





                                          you can still edit and explain.

                                          – Santosh
                                          Apr 26 '17 at 8:34















                                        2














                                        a=;
                                        a.push(['b','c','d','e','f']);





                                        share|improve this answer




















                                        • 4





                                          Hi, welcome to SO. Please don't just dump code as an answer. Explain your thoughts so users can better understand what's going on. Thanks.

                                          – Cthulhu
                                          Mar 17 '16 at 9:50






                                        • 2





                                          ok got it. I will take care of this in future. thanks for advice...

                                          – harjinder singh
                                          Mar 17 '16 at 11:13






                                        • 2





                                          you can still edit and explain.

                                          – Santosh
                                          Apr 26 '17 at 8:34













                                        2












                                        2








                                        2







                                        a=;
                                        a.push(['b','c','d','e','f']);





                                        share|improve this answer















                                        a=;
                                        a.push(['b','c','d','e','f']);






                                        share|improve this answer














                                        share|improve this answer



                                        share|improve this answer








                                        edited Mar 17 '16 at 9:59









                                        Magicprog.fr

                                        3,60742431




                                        3,60742431










                                        answered Mar 17 '16 at 9:31









                                        harjinder singhharjinder singh

                                        211




                                        211







                                        • 4





                                          Hi, welcome to SO. Please don't just dump code as an answer. Explain your thoughts so users can better understand what's going on. Thanks.

                                          – Cthulhu
                                          Mar 17 '16 at 9:50






                                        • 2





                                          ok got it. I will take care of this in future. thanks for advice...

                                          – harjinder singh
                                          Mar 17 '16 at 11:13






                                        • 2





                                          you can still edit and explain.

                                          – Santosh
                                          Apr 26 '17 at 8:34












                                        • 4





                                          Hi, welcome to SO. Please don't just dump code as an answer. Explain your thoughts so users can better understand what's going on. Thanks.

                                          – Cthulhu
                                          Mar 17 '16 at 9:50






                                        • 2





                                          ok got it. I will take care of this in future. thanks for advice...

                                          – harjinder singh
                                          Mar 17 '16 at 11:13






                                        • 2





                                          you can still edit and explain.

                                          – Santosh
                                          Apr 26 '17 at 8:34







                                        4




                                        4





                                        Hi, welcome to SO. Please don't just dump code as an answer. Explain your thoughts so users can better understand what's going on. Thanks.

                                        – Cthulhu
                                        Mar 17 '16 at 9:50





                                        Hi, welcome to SO. Please don't just dump code as an answer. Explain your thoughts so users can better understand what's going on. Thanks.

                                        – Cthulhu
                                        Mar 17 '16 at 9:50




                                        2




                                        2





                                        ok got it. I will take care of this in future. thanks for advice...

                                        – harjinder singh
                                        Mar 17 '16 at 11:13





                                        ok got it. I will take care of this in future. thanks for advice...

                                        – harjinder singh
                                        Mar 17 '16 at 11:13




                                        2




                                        2





                                        you can still edit and explain.

                                        – Santosh
                                        Apr 26 '17 at 8:34





                                        you can still edit and explain.

                                        – Santosh
                                        Apr 26 '17 at 8:34











                                        2














                                        The way I made object creator with auto list:



                                        var list = ;

                                        function saveToArray(x)
                                        list.push(x);
                                        ;

                                        function newObject ()
                                        saveToArray(this);
                                        ;





                                        share|improve this answer



























                                          2














                                          The way I made object creator with auto list:



                                          var list = ;

                                          function saveToArray(x)
                                          list.push(x);
                                          ;

                                          function newObject ()
                                          saveToArray(this);
                                          ;





                                          share|improve this answer

























                                            2












                                            2








                                            2







                                            The way I made object creator with auto list:



                                            var list = ;

                                            function saveToArray(x)
                                            list.push(x);
                                            ;

                                            function newObject ()
                                            saveToArray(this);
                                            ;





                                            share|improve this answer













                                            The way I made object creator with auto list:



                                            var list = ;

                                            function saveToArray(x)
                                            list.push(x);
                                            ;

                                            function newObject ()
                                            saveToArray(this);
                                            ;






                                            share|improve this answer












                                            share|improve this answer



                                            share|improve this answer










                                            answered May 13 '16 at 19:14









                                            Tadas StundysTadas Stundys

                                            211




                                            211





















                                                2














                                                On alternativ answer is this.



                                                if you have and array like this: var contacts = [bob, mary];



                                                and you want to put another array in this array, you can do that in this way:



                                                Declare the function constructor



                                                function add (firstName,lastName,email,phoneNumber) 
                                                this.firstName = firstName;
                                                this.lastName = lastName;
                                                this.email = email;
                                                this.phoneNumber = phoneNumber;



                                                make the object from the function:



                                                var add1 = new add("Alba","Fas","Des@gmail.com","[098] 654365364");


                                                and add the object in to the array:



                                                contacts[contacts.length] = add1;





                                                share|improve this answer



























                                                  2














                                                  On alternativ answer is this.



                                                  if you have and array like this: var contacts = [bob, mary];



                                                  and you want to put another array in this array, you can do that in this way:



                                                  Declare the function constructor



                                                  function add (firstName,lastName,email,phoneNumber) 
                                                  this.firstName = firstName;
                                                  this.lastName = lastName;
                                                  this.email = email;
                                                  this.phoneNumber = phoneNumber;



                                                  make the object from the function:



                                                  var add1 = new add("Alba","Fas","Des@gmail.com","[098] 654365364");


                                                  and add the object in to the array:



                                                  contacts[contacts.length] = add1;





                                                  share|improve this answer

























                                                    2












                                                    2








                                                    2







                                                    On alternativ answer is this.



                                                    if you have and array like this: var contacts = [bob, mary];



                                                    and you want to put another array in this array, you can do that in this way:



                                                    Declare the function constructor



                                                    function add (firstName,lastName,email,phoneNumber) 
                                                    this.firstName = firstName;
                                                    this.lastName = lastName;
                                                    this.email = email;
                                                    this.phoneNumber = phoneNumber;



                                                    make the object from the function:



                                                    var add1 = new add("Alba","Fas","Des@gmail.com","[098] 654365364");


                                                    and add the object in to the array:



                                                    contacts[contacts.length] = add1;





                                                    share|improve this answer













                                                    On alternativ answer is this.



                                                    if you have and array like this: var contacts = [bob, mary];



                                                    and you want to put another array in this array, you can do that in this way:



                                                    Declare the function constructor



                                                    function add (firstName,lastName,email,phoneNumber) 
                                                    this.firstName = firstName;
                                                    this.lastName = lastName;
                                                    this.email = email;
                                                    this.phoneNumber = phoneNumber;



                                                    make the object from the function:



                                                    var add1 = new add("Alba","Fas","Des@gmail.com","[098] 654365364");


                                                    and add the object in to the array:



                                                    contacts[contacts.length] = add1;






                                                    share|improve this answer












                                                    share|improve this answer



                                                    share|improve this answer










                                                    answered Nov 21 '16 at 13:32









                                                    Po PoPo Po

                                                    1615




                                                    1615





















                                                        0














                                                        You are running into a scope problem if you use your code as such. You have to declare it outside the functions if you plan to use it between them (or if calling, pass it as a parameter).



                                                        var a = new Array();
                                                        var b = new Object();

                                                        function first()
                                                        a.push(b);
                                                        // Alternatively, a[a.length] = b
                                                        // both methods work fine


                                                        function second()
                                                        var c = a[0];


                                                        // code
                                                        first();
                                                        // more code
                                                        second();
                                                        // even more code





                                                        share|improve this answer



























                                                          0














                                                          You are running into a scope problem if you use your code as such. You have to declare it outside the functions if you plan to use it between them (or if calling, pass it as a parameter).



                                                          var a = new Array();
                                                          var b = new Object();

                                                          function first()
                                                          a.push(b);
                                                          // Alternatively, a[a.length] = b
                                                          // both methods work fine


                                                          function second()
                                                          var c = a[0];


                                                          // code
                                                          first();
                                                          // more code
                                                          second();
                                                          // even more code





                                                          share|improve this answer

























                                                            0












                                                            0








                                                            0







                                                            You are running into a scope problem if you use your code as such. You have to declare it outside the functions if you plan to use it between them (or if calling, pass it as a parameter).



                                                            var a = new Array();
                                                            var b = new Object();

                                                            function first()
                                                            a.push(b);
                                                            // Alternatively, a[a.length] = b
                                                            // both methods work fine


                                                            function second()
                                                            var c = a[0];


                                                            // code
                                                            first();
                                                            // more code
                                                            second();
                                                            // even more code





                                                            share|improve this answer













                                                            You are running into a scope problem if you use your code as such. You have to declare it outside the functions if you plan to use it between them (or if calling, pass it as a parameter).



                                                            var a = new Array();
                                                            var b = new Object();

                                                            function first()
                                                            a.push(b);
                                                            // Alternatively, a[a.length] = b
                                                            // both methods work fine


                                                            function second()
                                                            var c = a[0];


                                                            // code
                                                            first();
                                                            // more code
                                                            second();
                                                            // even more code






                                                            share|improve this answer












                                                            share|improve this answer



                                                            share|improve this answer










                                                            answered Jun 6 '11 at 15:13









                                                            josh.trowjosh.trow

                                                            4,1701628




                                                            4,1701628





















                                                                -1














                                                                You can use this prototype of javascript like this:



                                                                Array.prototype.push.apply(array1, array2,array3);


                                                                => array1 contains the rest of them






                                                                share|improve this answer





























                                                                  -1














                                                                  You can use this prototype of javascript like this:



                                                                  Array.prototype.push.apply(array1, array2,array3);


                                                                  => array1 contains the rest of them






                                                                  share|improve this answer



























                                                                    -1












                                                                    -1








                                                                    -1







                                                                    You can use this prototype of javascript like this:



                                                                    Array.prototype.push.apply(array1, array2,array3);


                                                                    => array1 contains the rest of them






                                                                    share|improve this answer















                                                                    You can use this prototype of javascript like this:



                                                                    Array.prototype.push.apply(array1, array2,array3);


                                                                    => array1 contains the rest of them







                                                                    share|improve this answer














                                                                    share|improve this answer



                                                                    share|improve this answer








                                                                    edited Aug 30 '16 at 9:16









                                                                    Gytis Tenovimas

                                                                    8,623112647




                                                                    8,623112647










                                                                    answered Aug 30 '16 at 4:37









                                                                    Dat NgoDat Ngo

                                                                    211




                                                                    211



























                                                                        draft saved

                                                                        draft discarded
















































                                                                        Thanks for contributing an answer to Stack Overflow!


                                                                        • Please be sure to answer the question. Provide details and share your research!

                                                                        But avoid


                                                                        • Asking for help, clarification, or responding to other answers.

                                                                        • Making statements based on opinion; back them up with references or personal experience.

                                                                        To learn more, see our tips on writing great answers.




                                                                        draft saved


                                                                        draft discarded














                                                                        StackExchange.ready(
                                                                        function ()
                                                                        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f6254050%2fhow-to-add-an-object-to-an-array%23new-answer', 'question_page');

                                                                        );

                                                                        Post as a guest















                                                                        Required, but never shown





















































                                                                        Required, but never shown














                                                                        Required, but never shown












                                                                        Required, but never shown







                                                                        Required, but never shown

































                                                                        Required, but never shown














                                                                        Required, but never shown












                                                                        Required, but never shown







                                                                        Required, but never shown







                                                                        Popular posts from this blog

                                                                        Top Tejano songwriter Luis Silva dead of heart attack at 64

                                                                        政党

                                                                        天津地下鉄3号線