Donc, j'ai un tableau associatif et les clés dans le tableau sont des propriétés d'un objet. Je souhaite boucler le tableau et, dans chaque interation, faire quelque chose comme ça:
Object.key
Cela ne fonctionne cependant pas et se traduit par un retour indéfini plutôt que sur la valeur de la propriété.
Y a-t-il un moyen de faire cela?
Vous pouvez utiliser un pour … en boucle:
for (var key in obj) { //key is a string containing the property name. if (!obj.hasOwnProperty(key)) continue; //Skip properties inherited from the prototype var value = obj[key]; }
Vous devez utiliser l'accessoire de propriété de notation de parenthèse:
var value = object[key];
Cet opérateur peut même évaluer des expressions, par exemple:
var value = object[condition ? 'key1' : 'key2'];
Plus d'informations:
N'oubliez pas que les méthodes des objets Array
, s'attendent à travailler avec des index numériques, vous pouvez ajouter n'importe quel nom de propriété, mais ce n'est pas recommandé , donc à l'intantiation d'un objet Array (c'est-à-dire var obj = [];
ou var obj = new Array();
vous pouvez utiliser une instance d'objet simple (c'est-à-dire var obj = {}
ou var obj = new Object();
Oui. En supposant que la key
est une chaîne, essayez myObject[key]