JS foreach αντικείμενο ως σχεδιασμός παραλλαγών

Υπολογιστές

Η σύνταξη του JavaScript παρέχει τη δυνατότητα συνδυασμού μεταβλητών σε συστοιχίες και αντικείμενα. Η πρόσβαση στα στοιχεία μπορεί να επιτευχθεί μέσω ευρετηρίων και ονομάτων, μέσω φορέων βρόχου.

Αλλά δεν είναι πάντα δυνατό να γνωρίζουμε τον αριθμό των στοιχείων στη συλλογή κατά το σχεδιασμό και δεν είναι πάντα βολικό να χρησιμοποιούμε τη σύνταξη της γλώσσας μέσα στη σημασιολογία που παρέχει.

Κλασικά Σχέδια

Η συνήθης παράμετρος βρόχου "για (var i = 0; i <aData.μήκος; i ++) {...} "παρέχει πρόσβαση σε κάθε στοιχείο του πίνακα μέσω του ευρετηρίου" i "-" aData [i] "και αυτό είναι βολικό όταν ο αριθμός των στοιχείων είναι γνωστός εκ των προτέρων.

var i = 0;
ενώ (τύπος aData [i]! = "undefined") {... aData [i]; ... i ++; },

όταν ο αριθμός των στοιχείων είναι άγνωστος.

JS foreach

Μπορείτε επίσης να δημιουργήσετε άλλους αλγόριθμους για τη συμπλήρωση και την επεξεργασία συστοιχιών, αλλά είναι πολύ πιο βολικό να χρησιμοποιείτε νέες, σύγχρονες επιλογές.

Τα κλασικά είναι καλά όταν πρέπει να επεξεργαστείτε τα ερωτηματολόγια(όνομα, επώνυμο, ονοματεπώνυμο), κάρτες εξοπλισμού (μοντέλο, κατασκευαστής, πωλητής, ημερομηνία πώλησης) και άλλα δεδομένα που δεν μεταβάλλονται διαρθρωτικά και αντιπροσωπεύουν συνολικό ενδιαφέρον.

Όταν ένα στοιχείο μιας συστοιχίας είναι το ίδιο αντικείμενο ή δομή, έχει τις δικές του ιδιότητες και μεθόδους, τότε οι κλασικοί δεν μπορούν να αντεπεξέλθουν στη δυναμική της ποσότητας και της ποιότητας και ο πίνακας παίρνει ένα διαφορετικό νόημα.

Κύκλοι για κάθε στοιχείο

Στη δυναμική, η εκδήλωσησειρά ιδιοτήτων του τρέχοντος στοιχείου. Η κατασκευή JS foreach array, η οποία είναι κάπως διαφορετική από τη συνήθη (αποδεκτή σε άλλες γλώσσες) έκδοση, επιτρέπει στον πίνακα να εμφανίζει τις ιδιότητές του μέσω του σημερινού στοιχείου.

Ας πούμε ότι ένας πίνακας περιέχει δρόμους (τουςποιοτικά και ποσοτικά χαρακτηριστικά) και μια άλλη σειρά - αυτοκίνητα που μπορούν να ταξιδεύουν μόνο σε ορισμένους δρόμους και να έχουν διαφορετικούς όγκους δεξαμενών καυσίμων, δηλαδή οι αποστάσεις μεταξύ των πρατηρίων βενζίνης έχουν επίσης σημασία.

Σε αυτή την ενσωμάτωση, πρέπει να υπάρχει ένας κατάλληλος αλγόριθμοςγια παράδειγμα, πάρτε το δρόμο ως βάση και επιλέξτε τα αυτοκίνητα που μπορούν να τα οδηγήσουν μέσα από αυτό. Και είναι καλύτερα αν ο δρόμος και το αυτοκίνητο, μιλώντας στο πρόγραμμα ως αντικείμενα, "θα βρεθούν". Αυτή η φυσική εφαρμογή αντικειμενοστρεφούς προγραμματισμού, η οποία, μεταξύ άλλων, δεν οδηγεί στην ανάγκη αλλαγής του αλγορίθμου όταν αλλάζει συλλογές δρόμων και αυτοκινήτων, λαμβάνει αυτόματα υπόψη τους δρόμους που επισκευάζονται, τα αυτοκίνητα για συντήρηση κ.λπ.

JS foreach array

Από τεχνική άποψη, στο JS foreach, η κατασκευή φαίνεται πολύ απλή: "aData.forEach (fData)", όπου η fData είναι μια συνάρτηση που εφαρμόζεται σε κάθε στοιχείο της aData array:

λειτουργία fData (τιμή, ευρετήριο) {sText + = ευρετήριο + "=" + τιμή + ";"; }.

Εάν τα δεδομένα προέλευσης παρουσιάζονται ως εξής:

var aData = [1,2,3,4];
aData.push (11);
aData.push (22);
aData.push (44);
aData.push ("γραμμή 1");
aData.push ("γραμμή 2");

var sText = "",

τότε το αποτέλεσμα αυτής της εφαρμογής του JS foreach θα είναι:

"0 = 1 · 1 = 2 · 2 = 3 · 3 = 4 · 4 = 11 · 5 = 22 · 6 = 44 · 7 = γραμμή 1 · 8 = γραμμή 2 ·».

Χαρακτηριστικά συστοιχιών με αντικείμενα

Το αντικείμενο JavaScript είναι ξεχωριστό. Η χρήση αντικειμένων στη γλώσσα αυτή διαφέρει σημαντικά από τις υλοποιήσεις σε άλλες γλώσσες. Ένα αντικείμενο είναι το ίδιο ένα σύνολο ιδιοτήτων και μεθόδων. Ταυτόχρονα, οι τελευταίοι πραγματοποιούν πράξεις, αποθηκεύοντας ή επεξεργάζοντας το δικό τους ή εξωτερικό περιεχόμενο άλλων αντικειμένων, συστοιχιών, μεταβλητών.

Αντικείμενα, που έρχονται σε μια συστοιχία, όπως τα πλαίσια σε μια λωρίδα ταινιών, όταν μετακινούνται μέσω μιας κατασκευής αντικειμένου JS foreach, σχηματίζουν μια νέα σημασιολογία: ένα κατασκεύασμα μιας μεταβλητής σημασίας.

Έτσι, οι ίδιοι οι δρόμοι έχουν την ευκαιρίαεπιλέξτε αυτοκίνητα που μπορούν να τα οδηγήσουν, και το τελευταίο φιλτράρει τις διαδρομές που είναι διαθέσιμες την ημέρα τους. Εάν δεν δίνετε προσοχή στο γεγονός ότι η απόλυση σε αυτόν τον τύπο προγραμματισμού βελτιώνει την αξιοπιστία του κώδικα, τότε το καθήκον - για να καθορίσετε τη διαδρομή της παράδοσης του φορτίου - καθιστά το JS foreach να σχεδιάσει μια σημασιολογική και απλή λύση: απλώστε τις διαδρομές κατά μήκος των δρόμων, επιλέξτε οχήματα και παραδώστε τα αγαθά.

Πρότυπο αντικείμενο

Εάν οι διαδρομές, οι δρόμοι και τα αυτοκίνητα είναι συστοιχίεςαντικείμενα, ο αλγόριθμος είναι πολύ απλουστευμένος. Θα φαινόταν περίεργο το γεγονός ότι η εμφάνιση της κατασκευής JS foreach χρειάστηκε τόσο πολύ χρόνο για να περιμένει. Ωστόσο, παρά την γραπτή απλότητα, στην πράξη είναι αρκετά δύσκολο να εφαρμοστεί.

JS foreach πρακτική και πραγματικά αντικείμενα

Η σκέψη ενός σύγχρονου προγραμματιστή λειτουργεί με αντικείμενα που είναι εξοικειωμένα με τον προγραμματισμό, αλλά με κανένα τρόπο αντικείμενα μιας πραγματικής εργασίας. Δεν συνηθίζεται να σημαίνει δρόμο, αυτοκίνητο, διαδρομή, απόσταση ...

Ο αντικειμενοστραφής προγραμματισμός εξελίχθηκε μέσα από ακανθώδεις διαδρομές και συνηθίζεται να δημιουργούνται αντικείμενα προγράμματος: ένας πίνακας, μια μορφή, ένα κουμπί, ένα παράθυρο επιλογής διαδρομής κ.ο.κ.

Επιπλέον, το JS foreach είναι ίσο με άλλαοι κατασκευές γλωσσών εκτελούνται στον περιηγητή του επισκέπτη, γεγονός που εισάγει στην πράξη σοβαρούς περιορισμούς. Δεν είναι κάθε προγραμματιστής έτοιμος να μοιραστεί τον κώδικα τους. Αποτελεσματικά παραδείγματα χρήσης συστοιχιών και συλλογών πραγματικών αντικειμένων είναι ένας καλός τρόπος για τη βελτίωση της γνώσης.

Ωστόσο, η διαθεσιμότητα του κώδικα javascript γιαη απρόβλεπτη χρήση από τον προγραμματιστή έχει έμμεση επίδραση στην ανάπτυξη υποσχόμενων ιδεών για τη δημιουργία δυναμικών και πραγματικών αντικειμένων. Οι κατασκευές του JS foreach δεν είναι ακόμα τέλειες και η ανάπτυξη της σημασιολογίας τους φαίνεται να είναι μια πολύ ελπιδοφόρα κατεύθυνση.