JavaScript accesare variabila in bucla

Salutare
Am urmatoarea bucata de cod in bucla.

$.each(countries.data_tara, function(nume, info) {
console.log(countries.def_tara.nume);

Cum pot accesa proprietatile de la def_tara utilizand variabila nume de la each?
In JSON e salvat de genul:

‘def_tara’ => array(
‘anglia’ => array(
‘nume’ => ‘Anglia’,
‘steag’ => ‘anglia.png’
)
));

Deci mie JS-ul imi vede nume ca o proprietate, nu ca variabila.

Păi console.log( nume ) ce îți arată?

Imi returna undefined
Se pare ca functioneaza cu

console.log(countries.def_tara[nume]);

Doar cu .nume vede ca proprietate, adaugand acceseaza proprietatea pe baza variabilei.

Multz’ani.

Property accessors.

1 Like

Pe scurt, tu vroiai accesare dinamica a proprietatilor. Si, da, aia o faci cu var prop = 'some_prop'; obj[prop]. Notatia cu punct nu poate lucra cu valori dinamice.

  1. def_tara nu are proprietatea nume; in schimb, def_tara[0] o are (daca ai elemente ofc).
    Deci countries.def_tara[0].nume ar merge.

  2. Stii ca faci iteratie, dar accesezi tot obiectul pe care tocmail il iterezi, nu?
    Nu mai bine faci asa:

$.each(countries.data_tara, function(nume_intern, info) {
    console.log(info.nume); 
}