JavaScript - Arbeiten mit Objekten: Unterschied zwischen den Versionen
Aus Wikizone
(Die Seite wurde neu angelegt: „== Objekte statt Arrays == Quelle: http://stackoverflow.com/questions/4329092/multi-dimensional-associative-arrays-in-javascript (Zugriff 07-2013) I wish to sto…“) |
|||
| Zeile 1: | Zeile 1: | ||
== Objekte statt Arrays == | == Objekte statt Arrays == | ||
| + | |||
| + | === JavaScript Objekt und JavaScript Array === | ||
| + | Im Prinzip ist ein Array ein spezielles JavaScript Objekt. Da die Arbeit mit Arrays aber wesentlich unkomfortabler ist wie z.B. in PHP ist es oft besser statt einem Array ein Objekt zu nutzen. Gerade wenn man mit mehrdimensionalen Arrays arbeiten will stößt man mit JavaScript schnell an Grenzen. | ||
Quelle: http://stackoverflow.com/questions/4329092/multi-dimensional-associative-arrays-in-javascript (Zugriff 07-2013) | Quelle: http://stackoverflow.com/questions/4329092/multi-dimensional-associative-arrays-in-javascript (Zugriff 07-2013) | ||
Version vom 23. Juli 2013, 09:09 Uhr
Objekte statt Arrays
JavaScript Objekt und JavaScript Array
Im Prinzip ist ein Array ein spezielles JavaScript Objekt. Da die Arbeit mit Arrays aber wesentlich unkomfortabler ist wie z.B. in PHP ist es oft besser statt einem Array ein Objekt zu nutzen. Gerade wenn man mit mehrdimensionalen Arrays arbeiten will stößt man mit JavaScript schnell an Grenzen.
Quelle: http://stackoverflow.com/questions/4329092/multi-dimensional-associative-arrays-in-javascript (Zugriff 07-2013)
I wish to store the data in a grid (maybe as an array) looping all the records like this:
apple orange banana melon fred 2 4 7 - mary - 10 - - sarah - - - 5
var obj = {};
obj['fred'] = {};
if('fred' in obj ){ } // can check for the presence of 'fred'
if(obj.fred) { } // also checks for presence of 'fred'
if(obj['fred']) { } // also checks for presence of 'fred'
// The following statements would all work
obj['fred']['apples'] = 1;
obj.fred.apples = 1;
obj['fred'].apples = 1;
// or build or initialize the structure outright
var obj = { fred: { apples: 1, oranges: 2 }, alice: { lemons: 1 } };
If you're looking over values, you might have something that looks like this:
var people = ['fred', 'alice'];
var fruit = ['apples', 'lemons'];
var grid = {};
for(var i = 0; i < people.length; i++){
var name = people[i];
if(name in grid == false){
grid[name] = {}; // must initialize the sub-object, otherwise will get 'undefined' errors
}
for(var j = 0; j < fruit.length; j++){
var fruitName = fruit[j];
grid[name][fruitName] = 0;
}
}