Ich möchte die in einem Array enthaltenen Objekte durchlaufen und die Eigenschaften der einzelnen Objekte ändern. Wenn ich dies tue:
for (var j = 0; j < myArray.length; j++){
console.log(myArray[j]);
}
Die Konsole sollte jedes Objekt im Array anzeigen, richtig? Aber in der Tat zeigt es nur das erste Objekt. wenn ich Konsole protokollieren das Array außerhalb der Schleife, alle Objekte erscheinen, so there' s definitiv mehr in there.
Wie auch immer, hier's das nächste Problem. Wie greife ich zum Beispiel auf Objekt1.x im Array zu, wenn ich die Schleife verwende?
for (var j = 0; j < myArray.length; j++){
console.log(myArray[j.x]);
}
Das Ergebnis ist "undefined." Auch hier sagt mir das Konsolenprotokoll außerhalb der Schleife, dass die Objekte alle Werte für "x" haben. Wie kann ich auf diese Eigenschaften in der Schleife zugreifen?
Mir wurde an anderer Stelle empfohlen, separate Arrays für jede der Eigenschaften zu verwenden, aber ich möchte sicherstellen, dass ich diesen Weg zuerst ausgeschöpft habe.
Ich danke Ihnen!
Verwenden Sie forEach, eine eingebaute Array-Funktion. Array.forEach()
:
yourArray.forEach(function (arrayItem) {
var x = arrayItem.prop1 + 2;
console.log(x);
});
for (var j = 0; j < myArray.length; j++){
console.log(myArray[j].x);
}
MeinArray[j.x]` ist logisch falsch.
Verwenden Sie stattdessen (myArray[j].x);
.
for (var j = 0; j < myArray.length; j++){
console.log(myArray[j].x);
}