Hallo,

Ik heb een object array:
var arr = {
100001: {
		title: 'Facebook',
		url: 'facebook.com'
	}, 
	100002: {
		title: 'Youtube',
		url: 'youtube.com'
	}
};


Value's kan ik dan gebruiken via de id's:

arr[10001].title;
arr[10002].url;

etc..

Nu probeer ik een object toe te voegen via .push() maar krijg een error:

arr.push({10003: {title: 'Google',url: 'google.com'}});

Uncaught TypeError: arr.push is not a function

Weet iemand wat ik fout doe?
Dat komt omdat 'arr' geen array is maar een object. net als dat arr[10001] een object is.

console.log(jQuery.type( arr ));

Vervang de buitenste { } eens naar [ ]

var arr = [
100001: {
        title: 'Facebook',
        url: 'facebook.com'
    },
    100002: {
        title: 'Youtube',
        url: 'youtube.com'
    }
]; 


Dan zou het moeten werken
Uncaught SyntaxError: Unexpected token : on line 2
En zo iets?

 var arr = New Array();
 arr[100001] = { title: 'Facebook', url: 'facebook.com'}';
 arr[100002] = { title: 'Youtube', url: 'youtube.com'}';



var arr = new Array();
arr[100001] = { title: 'Facebook', url: 'facebook.com'};
arr[100002] = { title: 'Youtube', url: 'youtube.com'};


Dit werkt all beter, maar 'length: 100003'
Volgens mij is dit niet de bedoeling

Reageren