2011-01-31 4 views
1

J'ai un tableau appelé assurances. J'ensemble de données dans ce tableau comme ceci:javascript array set deep value

var insurances = {}; 

insurances[0] = {} 
insurances[0]['id'] = 0; 

etc ...

Plus tard je veux changer l'id en faisant ceci:

insurances[index]['id'] = insuranceId; 

L'indice = 0 et le insuranceId = 1000;

D'une certaine manière, il ne définit pas la valeur (je ne suis pas défini). Qu'est-ce que je fais mal?

Merci de votre aide.

+1

pourriez-vous poster le code exact pour reproduire le problème? ce [code] (http://jsfiddle.net/qu7dX/) fonctionne bien ... – gor

+0

Pourriez-vous poster la section de code où vous définissez la valeur de insuranceId? Si la variable existe, mais n'a pas reçu de valeur, vous obtiendrez 'non défini' plutôt que la valeur que vous attendez. –

Répondre

0

Il fonctionne: http://jsfiddle.net/pNAwk/

var insurances = {}; 

insurances[0] = {} 
insurances[0]['id'] = 0; 

insurances[0]['id'] = 1000; 

alert(insurances[0]['id']); // alerts 1000 

Notez que si vous avez l'intention d'utiliser des noms de propriété indexés (0, 1, 2, ...), puis est plus approprié un littéral de tableau:

var insurances = []; 
+0

Mm bizarre .. pas dans ma configuration. Je vais continuer à chercher. – Jasper