Želim preleti predmete v polju in spremeniti lastnosti vsakega od njih. Če naredim to:
for (var j = 0; j < myArray.length; j++){
console.log(myArray[j]);
}
Konzola bi morala prikazati vse predmete v polju, kajne? Če konzolno prijavim polje zunaj zanke, se prikažejo vsi predmeti, tako da jih je tam zagotovo več.
Kakorkoli že, tu je naslednji problem. Kako lahko z zanko dostopam na primer do objekta 1.x v polju?
for (var j = 0; j < myArray.length; j++){
console.log(myArray[j.x]);
}
To vrne "undefined." V konzolnem dnevniku zunaj zanke je spet zapisano, da imajo vsi objekti vrednosti za "x". Kako lahko dostopam do teh lastnosti v zanki?
Drugje so mi priporočili, naj za vsako lastnost uporabim ločeno polje, vendar se želim najprej prepričati, da sem izčrpal to možnost.
Hvala!
Uporabite forEach, ki je vgrajena funkcija polja. Array.forEach()
:
yourArray.forEach(function (arrayItem) {
var x = arrayItem.prop1 + 2;
console.log(x);
});
myArray[j.x]
je logično napačno.
Namesto tega uporabite (myArray[j].x);
for (var j = 0; j < myArray.length; j++){
console.log(myArray[j].x);
}