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.


Cool stuff to know:

var array = new Array();

is similar to:

var array = [];


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: = IN;


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.