javascript – Uncaught TypeError: data.push is not a function

javascript – Uncaught TypeError: data.push is not a function

To use the push function of an Array your var needs to be an Array.

Change data{name:ananta,age:15} to following:

var data = [
    { 
        name: ananta,
        age: 15,
        country: Atlanta
    }
];

data.push({name: Tony Montana, age: 99});

data.push({country: IN});

..

The containing Array Items will be typeof Object and you can do following:

var text = You are + data[0]->age + old and come from + data[0]->country;

Notice: Try to be consistent. In my example, one array contained object properties name and age while the other only contains country. If I iterate this with for or forEach then I cant always check for one property, because my example contains Items that changing.

Perfect would be: data.push({ name: Max, age: 5, country: Anywhere } );

So you can iterate and always can get the properties, even if they are empty, null or undefined.

edit

Cool stuff to know:

var array = new Array();

is similar to:

var array = [];

Also:

var object = new Object();

is similar to:

var object = {};

You also can combine them:

var objectArray = [{}, {}, {}];

Your data variable contains an object, not an array, and objects do not have the push function as the error states. To do what you need you can do this:

data.country = IN;

Or

data[country] = IN;

javascript – Uncaught TypeError: data.push is not a function

Also make sure that the name of the variable is not some kind of a language keyword.
For instance, the following produces the same type of error:

var history = [];
history.push(what a mess);

replacing it for:

var history123 = [];
history123.push(pray for a better language);

works as expected.

Leave a Reply

Your email address will not be published.