Θέλω να διατρέξω κυκλικά τα αντικείμενα που περιέχονται σε έναν πίνακα και να αλλάξω τις ιδιότητες του καθενός. Αν το κάνω αυτό:
for (var j = 0; j < myArray.length; j++){
console.log(myArray[j]);
}
Η κονσόλα θα πρέπει να εμφανίζει κάθε αντικείμενο στον πίνακα, σωστά; Αλλά στην πραγματικότητα εμφανίζει μόνο το πρώτο αντικείμενο. αν καταγράψω στην κονσόλα τον πίνακα εκτός του βρόχου, εμφανίζονται όλα τα αντικείμενα, οπότε σίγουρα υπάρχουν περισσότερα εκεί μέσα.
Τέλος πάντων, εδώ είναι το επόμενο πρόβλημα. Πώς μπορώ να προσπελάσω, για παράδειγμα, το Object1.x στον πίνακα, χρησιμοποιώντας τον βρόχο;
for (var j = 0; j < myArray.length; j++){
console.log(myArray[j.x]);
}
Αυτό επιστρέφει "undefined." Και πάλι το αρχείο καταγραφής της κονσόλας εκτός του βρόχου μου λέει ότι όλα τα αντικείμενα έχουν τιμές για το "x". Πώς μπορώ να έχω πρόσβαση σε αυτές τις ιδιότητες μέσα στο βρόχο;
Μου συνέστησαν αλλού να χρησιμοποιήσω ξεχωριστούς πίνακες για κάθε μία από τις ιδιότητες, αλλά θέλω να βεβαιωθώ ότι έχω εξαντλήσει πρώτα αυτή τη λεωφόρο.
Σας ευχαριστώ!
Χρησιμοποιήστε την forEach ως ενσωματωμένη συνάρτηση συστοιχίας. 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);
}
myArray[j.x]
είναι λογικά λανθασμένη.
Χρησιμοποιήστε (myArray[j].x);
αντί αυτού
for (var j = 0; j < myArray.length; j++){
console.log(myArray[j].x);
}