Ένθετοι πίνακες javascript. Αφαίρεση στοιχείων πίνακα. Σύντομη σημειογραφία: χρήση αγκύλων

Στη JavaScript, καθώς και σε άλλες γλώσσες προγραμματισμού, χρησιμοποιούνται διαφορετικές μέθοδοι για την εργασία με πίνακες.

Οι μέθοδοι απλοποιούν την κατασκευή της λογικής και την εφαρμογή της σε ένα σενάριο.

Παρακάτω είναι οι βασικές μέθοδοι εργασίας με πίνακες σε JS.

Σπρώξτε

Η μέθοδος push() προσθέτει μια τιμή στο τέλος του πίνακα.

Έστω arr = ; arr.push(312); console.log(arr); // →

κρότος

Η μέθοδος pop() αφαιρεί το τελευταίο στοιχείο από τον πίνακα ή επιστρέφει την τιμή του.

Έστω arr = ; arr.pop(); console.log(arr); // →

Χρησιμοποιώντας τη δυνατότητα να λάβουμε την τιμή του τελευταίου στοιχείου ενός πίνακα ως παράδειγμα, μπορούμε να λάβουμε τη μορφή εικόνας:

Έστω img = "https://example.com/img/name.png"; let format = img.split(".").pop(); console.log(format); // → png console.log(img.split(".")); // → ["https://example", "com/img/name", "png"]

μη μετατόπιση

Η μέθοδος unshift() προσθέτει ένα στοιχείο στην αρχή του πίνακα.

Έστω arr = ; arr.unshift(312); console.log(arr); // →

βάρδια

Η μέθοδος shift() αφαιρεί το πρώτο στοιχείο από τον πίνακα.

Έστω arr = ; arr.shift(); console.log(arr); // → ;

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

Η μέθοδος split() χρησιμοποιείται για τη μετατροπή μιας συμβολοσειράς σε πίνακα. Το Split διαχωρίζει μια συμβολοσειρά σύμφωνα με την καθορισμένη παράμετρο.

Έστω str = "Anya, Masha, Sasha, Dasha"; // αυτή είναι μια συμβολοσειρά let arr = str.split(", "); console.log(arr); // → ["Anya", "Masha", "Sasha", "Dasha"] είναι ένας πίνακας

Συμμετοχή

Η μέθοδος join() συνδυάζει στοιχεία πίνακα σε μια συμβολοσειρά χρησιμοποιώντας τον οριοθέτη που καθορίζεται στην παράμετρο.

Let arr = ["Notpad++", "Sublime", "VSCode"]; // αυτός είναι ένας πίνακας έστω str = arr.join(", "); console.log("Επεξεργαστές για τον κώδικα: " + str); // → "Επεξεργαστές για κώδικα: Notpad++, Sublime, VSCode"

φέτα

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

Για παράδειγμα: το slice(3, 7) θα επιστρέψει στοιχεία με δείκτες 3, 4, 5, 6. Το στοιχείο με ευρετήριο 7 δεν θα συμπεριληφθεί στον πίνακα.

Εάν μια παράμετρος με αρνητική τιμή περάσει στο slice(), τότε επιστρέφει έναν νέο πίνακα με τον αριθμό των στοιχείων που καθορίζονται στην παράμετρο, αλλά έχουν ήδη ληφθεί από το τέλος του αρχικού πίνακα.

Η μέθοδος slice δεν αλλάζει τον αρχικό πίνακα.

Ακολουθούν μερικά παραδείγματα της μεθόδου slice() σε δράση:

Έστω arr = ["A", "B", "C", "D", "E", "F", "G"]; // Επιστρέφει έναν πίνακα που περιέχει στοιχεία με ευρετήρια από 2 έως 5 console.log(arr.slice(2, 5)); // → ["C", "D", "E"] // Επιστρέφει έναν νέο πίνακα που περιέχει στοιχεία με δείκτες από το 3 στο arr.length console.log(arr.slice(3)); // → ["D", "E", "F", "G"] // Επιστρέφει ένα αντίγραφο του αρχικού πίνακα console.log(arr.slice()); // → ["A", "B", "C", "D", "E", "F", "G"] // Επιστρέφει έναν νέο πίνακα που αποτελείται από τα τρία τελευταία στοιχεία της αρχικής console.log (arr.slice (-3)); // → ["E", "F", "G"]

συνδέω

Η μέθοδος splice() τροποποιεί τα περιεχόμενα ενός πίνακα αφαιρώντας υπάρχοντα στοιχεία ή/και προσθέτοντας νέα.

Σύνταξη:

Array.splice(start, deleteCount[, item1[, item2[, ...]]])

Επιλογές:

  • start - Ο δείκτης από τον οποίο θα ξεκινήσει η αλλαγή του πίνακα. Εάν είναι μεγαλύτερο από το μήκος του πίνακα, ο πραγματικός δείκτης θα οριστεί στο μήκος του πίνακα. Εάν είναι αρνητικό, καθορίζει τον δείκτη του στοιχείου από το τέλος.
  • deleteCount - Ένας ακέραιος αριθμός που υποδεικνύει τον αριθμό των παλαιών στοιχείων που πρέπει να διαγραφούν από τον πίνακα. Εάν το deleteCount είναι 0, κανένα στοιχείο δεν διαγράφεται. Σε αυτήν την περίπτωση, πρέπει να καθορίσετε τουλάχιστον ένα νέο στοιχείο. Εάν το deleteCount είναι μεγαλύτερο από τον αριθμό των στοιχείων που απομένουν στον πίνακα ξεκινώντας από την έναρξη του ευρετηρίου, τότε όλα τα στοιχεία μέχρι το τέλος του πίνακα θα διαγραφούν.
  • στοιχείο N - Προαιρετικές παράμετροι. Στοιχεία που πρέπει να προστεθούν στον πίνακα. Εάν δεν καθορίσετε κανένα στοιχείο, η splice() απλώς θα αφαιρέσει στοιχεία από τον πίνακα.
Επιστρεφόμενη τιμή Περιγραφή

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

Let arr = ["Barca", "Shakhtar", "Manchester United", "Milan", "Real", "Ajax", "Juventus"]; ας nax = arr.splice(2, 3); arr.splice(2, 3); console.log(nax); // → ["Μάντσεστερ Γιουνάιτεντ", "Μίλαν", "Ρεάλ"] console.log(arr); // → ["Barca", "Shakhtar"] arr.splice(1, 0, "Zenit", "CSKA", "Spartak"); console.log(arr); // → [Μπάρτσα, Ζενίτ, ΤΣΣΚΑ, Σπαρτάκ, Σαχτάρ]

ΑΝΤΙΣΤΡΟΦΗ

Η μέθοδος reverse() αντιστρέφει τη σειρά των στοιχείων του πίνακα. Ως αποτέλεσμα, το πρώτο στοιχείο του πίνακα γίνεται το τελευταίο και το τελευταίο στοιχείο γίνεται το πρώτο.

Έστω arr = ; console.log(arr.reverse()); // → console.log(["Alice", "BG", "GO", "DDT"].reverce()); // → ["DDT", "GO", "BG", "Alice"]

χάρτης

Η μέθοδος map() περνά μέσα από τα στοιχεία του πίνακα, εκτελώντας συγκεκριμένες ενέργειες σε αυτά και επιστρέφει ένα αντίγραφο του πίνακα με τα αλλαγμένα στοιχεία.

Στο παρακάτω παράδειγμα, σε κάθε στοιχείο πίνακα προσθέτουμε την τιμή δείκτη αυτού του στοιχείου (7 + 0, 2 + 1, 15 + 2, 4 + 3, 31 + 4):

Έστω arr = ; ας testMap = arr.map((στοιχείο, ευρετήριο) => στοιχείο + ευρετήριο); console.log(testMap); //

ή πολλαπλασιάστε κάθε τιμή του πίνακα, για παράδειγμα, επί 12

Έστω arr = ; ας testMap = arr.map(a => a * 12); console.log(testMap); // →

φίλτρο

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

Για παράδειγμα, ας φιλτράρουμε τις τιμές ενός πίνακα αριθμών, αφήνοντας μόνο αυτούς που είναι μεγαλύτεροι από 21

Έστω arr = ; ας testFilter = arr.filter(στοιχείο => στοιχείο > 21); console.log(testFilter); // →

Σημειώστε ότι το 21 δεν συμπεριλήφθηκε στο αποτέλεσμα του πίνακα, καθώς η συνθήκη ήταν να επιστρέψει κάτι που είναι μεγαλύτερο από 21. Για να συμπεριληφθεί το 21 στον πίνακα, ορίσαμε τη συνθήκη ως μεγαλύτερη ή ίση με: στοιχείο >= 21

περιορίζω

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

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

Έστω arr = ; έστω summa = arr.reduce((acc, στοιχείο) => acc + στοιχείο); console.log(sum); // → 370

είδος

Η μέθοδος sort() χρησιμοποιείται για την ταξινόμηση στοιχείων πίνακα σύμφωνα με καθορισμένες παραμέτρους.

Παράδειγμα - ας πάρουμε έναν πίνακα αριθμών και ας τους ταξινομήσουμε με αύξουσα σειρά:

Έστω arr = ; έστω testSortArr = arr.sort((a, b) => a - b); console.log(testSortArr); // →

περιλαμβάνει

Η μέθοδος include() καθορίζει εάν ο πίνακας περιέχει ένα συγκεκριμένο στοιχείο, επιστρέφοντας true ή false ανάλογα με αυτό.

Παράδειγμα χρήσης περιλαμβάνει() .

Εδώ είναι μια λογική έκφραση:

Let animal = "σκύλος"? αν (ζώο == "γάτα" || ζώο == "σκύλος" || ζώο == "λιοντάρι" || ζώο == "άλογο") ( // ........ )

Χρησιμοποιώντας τη μέθοδο περιλαμβάνει, μπορείτε να το γράψετε ως εξής:

Let animal = "σκύλος"? const animals = ["γάτα", "σκύλος", "λιοντάρι", "άλογο"]; αν (ζώα.περιλαμβάνει(ζώο)) ( // ........... )

Καλημέρα σε όλους. Ο Alexey Gulynin είναι σε επαφή. Στο τελευταίο άρθρο εξετάσαμε την κατασκευή θήκης διακόπτη σε javascript. Σε αυτό το άρθρο θα ήθελα να σας πω τι είναι οι πίνακες στο Javascript. Η έννοια του πίνακα παίζει σημαντικό ρόλο όχι μόνο στο Javascript, αλλά σε όλο τον προγραμματισμό. Μια μεταβλητή, όπως ένας πίνακας, δεν περιέχει ένα στοιχείο, αλλά πολλά. Η σύνταξη για τη δημιουργία ενός πίνακα είναι η εξής:

Var mas = νέος πίνακας(τιμή1, τιμή2,..., τιμήN);

Σε αυτήν την περίπτωση, δημιουργείται μια μεταβλητή mas του πίνακα με τις τιμές που υποδεικνύονται σε παρενθέσεις. Λάβετε υπόψη ότι ένας πίνακας δημιουργείται χρησιμοποιώντας τη νέα λέξη-κλειδί. Μπορείτε να αποκτήσετε πρόσβαση στα στοιχεία ενός πίνακα καθορίζοντας το όνομα του πίνακα και τον δείκτη του πίνακα σε αγκύλες. Ο δείκτης πίνακα ορίζεται από το μηδέν. Ας δώσουμε ένα παράδειγμα πίνακα που αποτελείται από 4 στοιχεία και ας εμφανίσουμε το 2ο στοιχείο:

var mas = νέος πίνακας ("privet", 1, 10, 5); document.write("Second array element = "+mas); // θα εμφανιστεί ο αριθμός 10

Αν βάλουμε mas , τότε θα εκτυπωθεί το "privet", αφού η ευρετηρίαση του πίνακα ξεκινά από το μηδέν. Ας δούμε τώρα πώς να εμφανίσουμε όλα τα στοιχεία ενός πίνακα. Για να γίνει αυτό πρέπει να χρησιμοποιήσετε έναν βρόχο. Εκτός από τη γνώση των βρόχων στο Javascript, πρέπει να γνωρίζετε την ιδιότητα μήκος των πινάκων, η οποία επιστρέφει τον αριθμό των στοιχείων του πίνακα (ή, με άλλα λόγια, το μήκος του). Ας εκτυπώσουμε το μήκος του mas array:

var mas = νέος πίνακας ("privet", 1, 10, 5); document.write("Μήκος πίνακα = "+mas.length); // θα εμφανιστεί ο αριθμός 4

Εκτύπωση όλων των στοιχείων πίνακα:

var mas = νέος πίνακας ("privet", 1, 10, 5); var i; για (i = 0; i< mas.length; i++) document.write(mas[i]+" ");

Μέχρι στιγμής, έχουμε εξετάσει μονοδιάστατους πίνακες. Γενικά, οι πίνακες μπορεί να είναι πολυδιάστατοι. Το κύριο πράγμα που πρέπει να καταλάβετε είναι ότι, για παράδειγμα, ένας δισδιάστατος πίνακας είναι ένας πίνακας του οποίου τα στοιχεία είναι πίνακες. Ας δούμε αυτό το πρόβλημα: πρέπει να δημιουργήσετε έναν δισδιάστατο πίνακα 3 επί 3, τα στοιχεία του οποίου καθορίζονται από τον χρήστη, και να εξάγετε αυτόν τον πίνακα. Εδώ θα χρησιμοποιήσουμε τον τελεστή προτροπής για να ζητήσουμε έναν αριθμό από τον χρήστη:

var mas = νέος πίνακας(); //δηλώνει τον πίνακα const n = 3; //δηλώνει σταθερά, δηλ. Ο πίνακας μας έχει μέγεθος 3 επί 3 //για να ορίσετε έναν δισδιάστατο πίνακα, πρέπει να χρησιμοποιήσετε έναν διπλό βρόχο var i. var j; για (i = 0; i< n; i++) { mas[i] = new Array();//Здесь мы как раз каждый элемент массива делаем массивом for (j = 0; j < n; j++) { mas[i][j] = prompt("[" + i +","+j+"]= " ,"..."); //запрашиваем число у пользователя } } for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { document.write("[" + i +","+j+"]= "+ mas[i][j]);} //выводим элемент массива document.write("
"); // μεταβείτε σε μια νέα γραμμή μετά από κάθε γεμάτη σειρά του πίνακα)

Στην περίπτωσή μας, ένας δισδιάστατος πίνακας αντιστοιχεί (για παράδειγμα) στην ακόλουθη δομή: mas=[,,] . Μπορείτε να δείτε ότι ο πίνακας έχει 3 στοιχεία, καθένα από τα οποία είναι ένας πίνακας ο ίδιος.

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

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

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

1. Προσθήκη προσαρμοσμένων ιδιοτήτων σε πίνακες

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

Σε γενικές γραμμές, πολλά από τα πράγματα που συναντάμε στο JavaScript είναι αντικείμενα. Θα ήταν δίκαιο να σημειωθεί ότι η γλώσσα περιέχει επίσης «πρωτόγονους» τύπους δεδομένων, αλλά οι τιμές τους χρησιμοποιούνται κατά κάποιο τρόπο σε ιδιότητες μέσα σε αντικείμενα.

2. Πρόσβαση σε στοιχεία πίνακα εντός βρόχου

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

Το ECMAScript6 εισήγαγε έναν τρόπο κύλισης σε έναν πίνακα χωρίς τη χρήση ευρετηρίων, αλλά μέσω ενός νέου βρόχου for…of.

Ο βρόχος for...of έχει σχεδιαστεί για να επαναλαμβάνεται μέσω των στοιχείων ενός πίνακα χωρίς να επηρεάζει το δείκτη του στοιχείου.

Var ary = ["πορτοκάλι", "μήλο", "λίτσι"]; for (έστω στοιχείο του ary)( console.log(item); ) // "πορτοκαλί", "μήλο", "λίτσι" Για σύγκριση: έξοδος δεικτών στοιχείων σε έναν βρόχο for. var ary = ["πορτοκαλί", "μήλο", "λίτσι"]; για (var item = 0; item< ary.length; item++){ console.log(item); } // 0, 1, 2

3. Ο αριθμός των στοιχείων δεν είναι η διάσταση του πίνακα

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

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

Var ary = ; αρ.μήκος = 3; console.log(ary.length); // 3 ary = "abcd"; console.log(ary.length); // 6

Στο τελευταίο παράδειγμα, αρκούσε να βάλουμε το στοιχείο στην πέμπτη θέση, με αποτέλεσμα το μήκος του πίνακα να γίνει 6. Αν πιστεύετε ότι οι δείκτες από το 0 έως το 4 θα δημιουργηθούν αυτόματα, θα κάνετε λάθος. Αυτό μπορεί να ελεγχθεί χρησιμοποιώντας τον τελεστή in.

Var ary = ; αρ.μήκος = 3; console.log(ary.length); // 3 ary = "abcd"; console.log(ary.length); // 6 console.log(0 σε ary); // ψευδής

Σε αυτή την περίπτωση, θα ήταν δίκαιο να ονομαστεί ο πίνακας ary "αραιός".

Μπορούμε επίσης να χειριστούμε την ιδιότητα length για να περικόψουμε πίνακες. Το παρακάτω παράδειγμα δείχνει την «χάση» του στοιχείου στον δείκτη 5 μειώνοντας την ιδιότητα μήκους του πίνακα ary.

Var ary = ; αρ.μήκος = 3; console.log(ary.length); // 3 ary = "abcd"; console.log(ary.length); // 6 ary.length = 2; console.log(ary.length); // 2 console.log(ary); // απροσδιόριστο

  • Μετάφραση
  • I. Επανάληψη σε πραγματικούς πίνακες
  • για κάθε μέθοδο και σχετικές μεθόδους
  • για βρόχο
  • Σωστή χρήση του βρόχου for...in
  • for...of loop (σιωπηρή χρήση επαναλήπτη)
  • Ρητή χρήση επαναληπτικού
  • Χρήση μεθόδων για επανάληψη σε πραγματικούς πίνακες
  • Μετατροπή σε πραγματικό πίνακα
  • Σημείωση για αντικείμενα χρόνου εκτέλεσης
I. Επανάληψη σε πραγματικούς πίνακες Αυτή τη στιγμή, υπάρχουν τρεις τρόποι επανάληψης πάνω από τα στοιχεία ενός πραγματικού πίνακα:
  • μέθοδος Array.prototype.forEach ;
  • κλασικό για βρόχο
  • ένα "σωστά" κατασκευασμένο για...in loop.
  • Επιπλέον, σύντομα, με την έλευση του νέου προτύπου ECMAScript 6 (ES 6), αναμένονται δύο ακόμη μέθοδοι:
  • for...of loop (σιωπηρή χρήση του επαναλήπτη);
  • ρητή χρήση του επαναλήπτη.
  • 1. Η μέθοδος forEach και οι σχετικές μέθοδοι Εάν το έργο σας έχει σχεδιαστεί για να υποστηρίζει τις δυνατότητες του προτύπου ECMAScript 5 (ES5), μπορείτε να χρησιμοποιήσετε μία από τις καινοτομίες του - τη μέθοδο forEach.

    Παράδειγμα χρήσης:
    var a = ["a", "b", "c"]; a.forEach(function(entry) ( console.log(entry); ));
    Γενικά, η χρήση του forEach απαιτεί τη σύνδεση της βιβλιοθήκης εξομοίωσης es5-shim για προγράμματα περιήγησης που δεν υποστηρίζουν εγγενώς αυτήν τη μέθοδο. Αυτά περιλαμβάνουν το IE 8 και προγενέστερα, τα οποία εξακολουθούν να χρησιμοποιούνται σε ορισμένα μέρη.

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

    Εάν ανησυχείτε για το πιθανό κόστος της επανάκλησης για κάθε στοιχείο, μην ανησυχείτε και διαβάστε αυτό.

    Το ForEach έχει σχεδιαστεί για επανάληψη σε όλα τα στοιχεία ενός πίνακα, αλλά εκτός από αυτό, το ES5 προσφέρει πολλές πιο χρήσιμες μεθόδους για επανάληψη μέσω όλων ή ορισμένων στοιχείων και την εκτέλεση ορισμένων ενεργειών σε αυτά:

    • Κάθε - επιστρέφει true εάν για κάθε στοιχείο του πίνακα η επανάκληση επιστρέφει μια τιμή που μπορεί να μετατραπεί σε true.
    • some - επιστρέφει true εάν για τουλάχιστον ένα στοιχείο του πίνακα η επανάκληση επιστρέφει μια τιμή που μπορεί να μετατραπεί σε true.
    • φίλτρο - δημιουργεί έναν νέο πίνακα που περιλαμβάνει εκείνα τα στοιχεία του αρχικού πίνακα για τα οποία η επανάκληση επιστρέφει true.
    • χάρτης - δημιουργεί έναν νέο πίνακα που αποτελείται από τις τιμές που επιστρέφονται από την επιστροφή κλήσης.
    • μείωση - μειώνει έναν πίνακα σε μία μόνο τιμή, εφαρμόζοντας μια επανάκληση σε κάθε στοιχείο του πίνακα με τη σειρά του, ξεκινώντας από το πρώτο (μπορεί να είναι χρήσιμο για τον υπολογισμό του αθροίσματος των στοιχείων του πίνακα και άλλων συναρτήσεων σύνοψης).
    • reduceRight - λειτουργεί παρόμοια με τη μείωση, αλλά επαναλαμβάνεται μέσω των στοιχείων με αντίστροφη σειρά.
    2. Για βρόχο Παλιά καλή για κανόνες:

    Var a = ["a", "b", "c"]; δείκτης var; για (δείκτης = 0, ευρετήριο< a.length; ++index) { console.log(a); }
    Εάν το μήκος του πίνακα είναι σταθερό σε όλο τον βρόχο και ο ίδιος ο βρόχος ανήκει σε ένα τμήμα κώδικα που είναι κρίσιμο για την απόδοση (κάτι που είναι απίθανο), τότε μπορείτε να χρησιμοποιήσετε μια "πιο βέλτιστη" έκδοση του για να αποθηκεύει το μήκος του πίνακα :

    Var a = ["a", "b", "c"]; δείκτης var, len; για (δείκτης = 0, len = α.μήκος, δείκτης< len; ++index) { console.log(a); }
    Θεωρητικά, αυτός ο κώδικας θα πρέπει να τρέχει λίγο πιο γρήγορα από τον προηγούμενο.

    Εάν η σειρά των στοιχείων δεν είναι σημαντική, τότε μπορείτε να προχωρήσετε ακόμη περισσότερο όσον αφορά τη βελτιστοποίηση και να απαλλαγείτε από τη μεταβλητή για την αποθήκευση του μήκους του πίνακα, αλλάζοντας τη σειρά αναζήτησης προς τα πίσω:

    Var a = ["a", "b", "c"]; δείκτης var; για (index = a.length - 1; index >= 0; --index) ( console.log(a); )
    Ωστόσο, στις σύγχρονες μηχανές JavaScript τέτοια παιχνίδια βελτιστοποίησης συνήθως δεν σημαίνουν τίποτα.

    3. Σωστή χρήση ενός βρόχου for...in Εάν σας συμβουλεύουμε να χρησιμοποιήσετε έναν βρόχο for...in, να θυμάστε ότι η επανάληψη σε πίνακες δεν είναι αυτό για το οποίο προορίζεται. Σε αντίθεση με μια κοινή παρανόηση, ο βρόχος for...in δεν επαναλαμβάνεται πάνω από δείκτες πίνακα, αλλά μέσω αναρίθμητων ιδιοτήτων ενός αντικειμένου.

    Ωστόσο, σε ορισμένες περιπτώσεις, όπως η επανάληψη σε αραιούς πίνακες, το for...in μπορεί να είναι χρήσιμο, αρκεί να λάβετε προφυλάξεις, όπως φαίνεται στο παρακάτω παράδειγμα:

    // a - αραιός πίνακας var a = ; a = "a"; a = "b"; a = "c"; for (κλειδί var στο a) ( if (a.hasOwnProperty(key) && /^0$|^\d*$/.test(key) && key

    Έχετε ερωτήσεις;

    Αναφέρετε ένα τυπογραφικό λάθος

    Κείμενο που θα σταλεί στους συντάκτες μας: