Στην JavaScript, μπορείτε να επαναλάβετε (επαναληφθείτε) μέσα από τα στοιχεία ενός πίνακα χρησιμοποιώντας διάφορες μεθόδους επανάληψης. Εδώ είναι μερικές από τις συνηθέστερες μεθόδους επανάληψης ενός πίνακα:
- for loop: Μπορείτε να χρησιμοποιήσετε ένα απλό for loop για να επαναλάβετε μέσα από τα στοιχεία ενός πίνακα, χρησιμοποιώντας το μήκος του πίνακα και τον δείκτη.
var fruits = ["Apple", "Banana", "Orange"]; for (var i = 0; i < fruits.length; i++) { console.log(fruits[i]); }
- forEach(): Η μέθοδος
forEach()
εκτελεί μια συνάρτηση για κάθε στοιχείο ενός πίνακα. Αυτή η μέθοδος παίρνει μια συνάρτηση ως όρισμα και εκτελεί αυτήν τη συνάρτηση για κάθε στοιχείο του πίνακα.
var fruits = ["Apple", "Banana", "Orange"]; fruits.forEach(function(fruit) { console.log(fruit); });
- for…of loop: Ο βρόχος
for...of
εισήχθη στο ES6 και επιτρέπει να επαναλαμβάνετε μέσα από στοιχεία ενός πίνακα χωρίς να χρειάζεται να χρησιμοποιήσετε έναν δείκτη.
var fruits = ["Apple", "Banana", "Orange"]; for (var fruit of fruits) { console.log(fruit); }
Αυτές είναι μερικές από τις κοινές μεθόδους για την επανάληψη ενός πίνακα στην JavaScript. Επιλέξτε τη μέθοδο που καλύπτει καλύτερα τις ανάγκες σας ανάλογα με τον τύπο της επανάληψης που θέλετε να κάνετε.
Η μέθοδος forEach() του πίνακα καλεί μια συνάρτηση (μια συνάρτηση επανακλήσης) για κάθε στοιχείο του πίνακα. Αυτή η μέθοδος επαναλαμβάνει τον πίνακα και εκτελεί την παρεχόμενη συνάρτηση για κάθε στοιχείο.
Εδώ είναι η σύνταξη της μεθόδου forEach():
array.forEach(function(element, index, array) { // Κώδικας που εκτελείται για κάθε στοιχείο });
Η συνάρτηση που περνάτε στο forEach() λαμβάνει τρία ορίσματα:
- element: Το τρέχον στοιχείο του πίνακα.
- index: Ο δείκτης (index) του τρέχοντος στοιχείου.
- array: Ο ίδιος ο πίνακας που επαναλαμβάνεται.
Εδώ είναι ένα παράδειγμα χρήσης της μεθόδου forEach():
var numbers = [1, 2, 3, 4, 5]; numbers.forEach(function(number, index, array) { console.log("Number: " + number + ", Index: " + index + ", Array: " + array); });
Σε αυτό το παράδειγμα, η συνάρτηση που περνάμε στο forEach() εμφανίζει το τρέχον στοιχείο, τον δείκτη του και τον ίδιο τον πίνακα για κάθε στοιχείο. Αυτός ο κώδικας θα παράγει την ακόλουθη έξοδο:
Number: 1, Index: 0, Array: 1,2,3,4,5 Number: 2, Index: 1, Array: 1,2,3,4,5 Number: 3, Index: 2, Array: 1,2,3,4,5 Number: 4, Index: 3, Array: 1,2,3,4,5 Number: 5, Index: 4, Array: 1,2,3,4,5
Με την forEach(), μπορείτε να εκτελέσετε μια συνάρτηση για κάθε στοιχείο ενός πίνακα, χωρίς να χρειάζεται να δηλώσετε έναν δείκτη ή να χρησιμοποιήσετε έναν βρόχο for.
Η μέθοδος map() του πίνακα δημιουργεί ένα νέο πίνακα εφαρμόζοντας μια συνάρτηση σε κάθε στοιχείο του πίνακα.
Εδώ είναι η σύνταξη της μεθόδου map():
var newArray = array.map(function(element, index, array) { // Κώδικας που εκτελείται για κάθε στοιχείο και παράγει ένα νέο στοιχείο return newElement; });
Η συνάρτηση που περνάτε στο map() λαμβάνει τρία ορίσματα:
- element: Το τρέχον στοιχείο του πίνακα.
- index: Ο δείκτης (index) του τρέχοντος στοιχείου.
- array: Ο ίδιος ο πίνακας που επαναλαμβάνεται.
Η συνάρτηση πρέπει να επιστρέψει το νέο στοιχείο που θα προστεθεί στο νέο πίνακα.
Εδώ είναι ένα παράδειγμα χρήσης της μεθόδου map():
var numbers = [1, 2, 3, 4, 5]; var squaredNumbers = numbers.map(function(number) { return number * number; }); console.log(squaredNumbers);
Σε αυτό το παράδειγμα, η συνάρτηση που περνάμε στο map() πολλαπλασιάζει κάθε στοιχείο του πίνακα με τον εαυτό του για να παράξει έναν νέο πίνακα με τα τετράγωνα των αρχικών αριθμών. Ο νέος πίνακας squaredNumbers
θα περιέχει τις τιμές [1, 4, 9, 16, 25]
.
Η map() μέθοδος είναι χρήσιμη για τη δημιουργία ενός νέου πίνακα με μετασχηματισμένα στοιχεία βάσει μιας συνάρτησης, χωρίς να επηρεάζεται ο αρχικός πίνακας.
[adinserter block=”2″]s
Η μέθοδος flatMap()
του πίνακα συνδυάζει τη λειτουργία των μεθόδων map()
και flat()
για να δημιουργήσει ένα νέο πίνακα εφαρμόζοντας μια συνάρτηση σε κάθε στοιχείο και στη συνέχεια αποπεμπόντας τα αποτελέσματα σε έναν επίπεδο πίνακα.
Εδώ είναι η σύνταξη της μεθόδου flatMap()
:
var newArray = array.flatMap(function(element, index, array) { // Κώδικας που εκτελείται για κάθε στοιχείο και παράγει μια νέα λίστα στοιχείων return newElementsArray; });
Η συνάρτηση που περνάτε στο flatMap()
λαμβάνει τρία ορίσματα:
element
: Το τρέχον στοιχείο του πίνακα.index
: Ο δείκτης (index) του τρέχοντος στοιχείου.array
: Ο ίδιος ο πίνακας που επαναλαμβάνεται.
[adinserter block=”3″]
Η συνάρτηση πρέπει να επιστρέφει μια νέα λίστα στοιχείων, η οποία θα συνδυαστεί στον τελικό πίνακα.
Εδώ είναι ένα παράδειγμα χρήσης της μεθόδου flatMap()
:
var numbers = [1, 2, 3]; var doubledAndSquared = numbers.flatMap(function(number) { return [number * 2, number * number]; }); console.log(doubledAndSquared);
Σε αυτό το παράδειγμα, η συνάρτηση που περνάμε στο flatMap()
πολλαπλασιάζει κάθε στοιχείο του πίνακα με 2 και προσθέτει το αποτέλεσμα στη νέα λίστα στοιχείων, καθώς και το τετράγωνο του κάθε στοιχείου. Ο τελικός πίνακας doubledAndSquared
θα περιέχει τις τιμές [2, 1, 4, 4, 6, 9]
.
Η flatMap()
μέθοδος είναι ιδιαίτερα χρήσιμη όταν θέλετε να εφαρμόσετε μια συνάρτηση σε κάθε στοιχείο ενός πίνακα και να συνδυάσετε τα αποτελέσματα σε έναν επίπεδο πίνακα.
Η μέθοδος filter()
του πίνακα δημιουργεί έναν νέο πίνακα που περιέχει όλα τα στοιχεία που πληρούν μια συγκεκριμένη συνθήκη, που ορίζεται από μια συνάρτηση επιλογής.
Εδώ είναι η σύνταξη της μεθόδου filter()
:
var newArray = array.filter(function(element, index, array) { // Επιστρέφει true ή false για το κατά πόσο το στοιχείο πληροί τη συνθήκη });
Η συνάρτηση που περνάτε στην filter()
λαμβάνει τρία ορίσματα:
element
: Το τρέχον στοιχείο του πίνακα.index
: Ο δείκτης (index) του τρέχοντος στοιχείου.array
: Ο ίδιος ο πίνακας που επαναλαμβάνεται.
Η συνάρτηση πρέπει να επιστρέφει true
ή false
για κάθε στοιχείο, ανάλογα με το κατά πόσο πληροί τη συνθήκη ή όχι. Τα στοιχεία που επιστρέφουν true
θα περιληφθούν στον νέο πίνακα.
Εδώ είναι ένα παράδειγμα χρήσης της μεθόδου filter()
:
var numbers = [1, 2, 3, 4, 5]; var evenNumbers = numbers.filter(function(number) { return number % 2 === 0; }); console.log(evenNumbers);
Σε αυτό το παράδειγμα, η συνάρτηση που περνάμε στην filter()
ελέγχει αν το κάθε στοιχείο του πίνακα είναι άρτιος αριθμός, χρησιμοποιώντας τον τελεστή %
(modulo). Το αποτέλεσμα είναι ένας νέος πίνακας evenNumbers
που περιέχει μόνο τους άρτιους αριθμούς του αρχικού πίνακα, δηλαδή [2, 4]
.
Η filter()
μέθοδος είναι χρήσιμη όταν θέλετε να επιλέξετε ή να φιλτράρετε στοιχεία από έναν πίνακα βάσει μιας συγκεκριμένης συνθήκης.
Η μέθοδος reduce()
του πίνακα εφαρμόζει μια συνάρτηση που παίρνει δύο ορίσματα (τον αρχικό ακριβή και το τρέχον στοιχείο) σε κάθε στοιχείο του πίνακα, προκειμένου να επιστρέψει μια συγκεντρωμένη τιμή.
Εδώ είναι η σύνταξη της μεθόδου reduce()
:
var result = array.reduce(function(accumulator, element, index, array) { // Επιστρέφει το νέο ακριβές της επόμενης επανάληψης }, initialValue);
Η συνάρτηση που περνάτε στην reduce()
λαμβάνει τέσσερα ορίσματα:
accumulator
: Το ακριβές που έχει συγκεντρωθεί από τις προηγούμενες επαναλήψεις.element
: Το τρέχον στοιχείο του πίνακα.index
: Ο δείκτης (index) του τρέχοντος στοιχείου.array
: Ο ίδιος ο πίνακας που επαναλαμβάνεται.
Η συνάρτηση πρέπει να επιστρέφει το νέο ακριβές της επόμενης επανάληψης. Αρχικά, το ακριβές παίρνει την αρχική τιμή που περνάτε ως ορίσματος initialValue
.
Εδώ είναι ένα παράδειγμα χρήσης της μεθόδου reduce()
:
var numbers = [1, 2, 3, 4, 5]; var sum = numbers.reduce(function(accumulator, number) { return accumulator + number; }, 0); console.log(sum);
Σε αυτό το παράδειγμα, η συνάρτηση που περνάμε στην reduce()
συγκεντρώνει το άθροισμα όλων των στοιχείων του πίνακα. Αρχικά, το ακριβές (accumulator
) είναι ορισμένο ως 0. Σε κάθε επανάληψη, προσθέτουμε το τρέχον στοιχείο (number
) στο ακριβές. Το αποτέλεσμα είναι το άθροισμα όλων των αριθμών του πίνακα, δηλαδή 15.
Η reduce()
μέθοδος είναι χρήσιμη όταν θέλετε να συγκεντρώσετε ή να επεξεργαστείτε τα στοιχεία ενός πίνακα για να παράξετε μια μοναδική τιμή.
Η μέθοδος reduceRight()
του πίνακα εφαρμόζει μια συνάρτηση που παίρνει δύο ορίσματα (τον αρχικό ακριβή και το τρέχον στοιχείο) σε κάθε στοιχείο του πίνακα, ξεκινώντας από το τελευταίο στοιχείο προς το πρώτο, προκειμένου να επιστρέψει μια συγκεντρωμένη τιμή.
Εδώ είναι η σύνταξη της μεθόδου reduceRight()
:
var result = array.reduceRight(function(accumulator, element, index, array) { // Επιστρέφει το νέο ακριβές της επόμενης επανάληψης }, initialValue);
Η συνάρτηση που περνάτε στην reduceRight()
λαμβάνει τέσσερα ορίσματα:
accumulator
: Το ακριβές που έχει συγκεντρωθεί από τις προηγούμενες επαναλήψεις.element
: Το τρέχον στοιχείο του πίνακα.index
: Ο δείκτης (index) του τρέχοντος στοιχείου.array
: Ο ίδιος ο πίνακας που επαναλαμβάνεται.
Η συνάρτηση πρέπει να επιστρέφει το νέο ακριβές της επόμενης επανάληψης. Αρχικά, το ακριβές παίρνει την αρχική τιμή που περνάτε ως ορίσματος initialValue
.
Εδώ είναι ένα παράδειγμα χρήσης της μεθόδου reduceRight()
:
var numbers = [1, 2, 3, 4, 5]; var concatenatedString = numbers.reduceRight(function(accumulator, number) { return accumulator + number.toString(); }, ""); console.log(concatenatedString);
Σε αυτό το παράδειγμα, η συνάρτηση που περνάμε στην reduceRight()
συγκεντρώνει τα στοιχεία του πίνακα σε ένα μεγάλο συμβολοσειρά. Ξεκινάει από το τελευταίο στοιχείο προς το πρώτο και προσθέτει κάθε αριθμό στο ακριβές. Το αποτέλεσμα είναι η συμβολοσειρά “54321”.
Η reduceRight()
μέθοδος εφαρμόζεται σε αντίστροφη σειρά των στοιχείων ενός πίνακα και είναι χρήσιμη όταν θέλετε να συγκεντρώσετε ή να επεξεργαστείτε τα στοιχεία ενός πίνακα ξεκινώντας από το τελευταίο στοιχείο και προς το πρώτο.
Η μέθοδος every()
του πίνακα ελέγχει αν όλα τα στοιχεία του πίνακα πληρούν μια συγκεκριμένη συνθήκη που ορίζεται από μια συνάρτηση επιστροφής (callback function).
Εδώ είναι η σύνταξη της μεθόδου every()
:
var result = array.every(function(element, index, array) { // Επιστρέφει true ή false για το κατά πόσο το στοιχείο πληροί τη συνθήκη });
Η συνάρτηση που περνάτε στην every()
λαμβάνει τρία ορίσματα:
element
: Το τρέχον στοιχείο του πίνακα.index
: Ο δείκτης (index) του τρέχοντος στοιχείου.array
: Ο ίδιος ο πίνακας που επαναλαμβάνεται.
[adinserter block=”4″]
Η συνάρτηση πρέπει να επιστρέφει true
ή false
για κάθε στοιχείο, ανάλογα με το κατά πόσο πληροί τη συνθήκη ή όχι. Η every()
μέθοδος επιστρέφει true
αν όλα τα στοιχεία πληρούν τη συνθήκη και false
αν τουλάχιστον ένα στοιχείο δεν την πληροί.
Εδώ είναι ένα παράδειγμα χρήσης της μεθόδου every()
:
var numbers = [1, 2, 3, 4, 5]; var allEven = numbers.every(function(number) { return number % 2 === 0; }); console.log(allEven);
Σε αυτό το παράδειγμα, η συνάρτηση που περνάμε στην every()
ελέγχει αν όλα τα στοιχεία του πίνακα είναι άρτιοι αριθμοί, χρησιμοποιώντας τον τελεστή %
(modulo). Το αποτέλεσμα είναι false
, επειδή υπάρχουν αριθμοί στον πίνακα που δεν είναι άρτιοι. Αν όλα τα στοιχεία ήταν άρτιοι, το αποτέλεσμα θα ήταν true
.
Η every()
μέθοδος είναι χρήσιμη όταν θέλετε να ελέγξετε αν όλα τα στοιχεία ενός πίνακα πληρούν μια συγκεκριμένη συνθήκη.
Η μέθοδος some()
του πίνακα ελέγχει αν τουλάχιστον ένα στοιχείο του πίνακα πληροί μια συγκεκριμένη συνθήκη που ορίζεται από μια συνάρτηση επιστροφής (callback function).
Εδώ είναι η σύνταξη της μεθόδου some()
:
var result = array.some(function(element, index, array) { // Επιστρέφει true ή false αν το στοιχείο πληροί τη συνθήκη });
Η συνάρτηση που περνάτε στην some()
λαμβάνει τρία ορίσματα:
element
: Το τρέχον στοιχείο του πίνακα.index
: Ο δείκτης (index) του τρέχοντος στοιχείου.array
: Ο ίδιος ο πίνακας που επαναλαμβάνεται.
Η συνάρτηση πρέπει να επιστρέφει true
ή false
για κάθε στοιχείο, ανάλογα με το κατά πόσο πληροί τη συνθήκη ή όχι. Η some()
μέθοδος επιστρέφει true
αν τουλάχιστον ένα στοιχείο πληροί τη συνθήκη και false
αν κανένα στοιχείο δεν την πληροί.
Εδώ είναι ένα παράδειγμα χρήσης της μεθόδου some()
:
var numbers = [1, 2, 3, 4, 5]; var hasEven = numbers.some(function(number) { return number % 2 === 0; }); console.log(hasEven);
Σε αυτό το παράδειγμα, η συνάρτηση που περνάμε στην some()
ελέγχει αν υπάρχει τουλάχιστον ένα άρτιο στοιχείο στον πίνακα, χρησιμοποιώντας τον τελεστή %
(modulo). Το αποτέλεσμα είναι true
, επειδή υπάρχουν άρτιοι αριθμοί στον πίνακα. Αν κανένα στοιχείο δεν ήταν άρτιο, το αποτέλεσμα θα ήταν false
.
Η some()
μέθοδος είναι χρήσιμη όταν θέλετε να ελέγξετε αν τουλάχιστον ένα στοιχείο ενός πίνακα πληροί μια συγκεκριμένη συνθήκη.
Η μέθοδος indexOf()
του πίνακα επιστρέφει τη θέση του πρώτου εμφανιζόμενου στοιχείου σε έναν πίνακα, ή -1 εάν το στοιχείο δεν βρίσκεται στον πίνακα.
Εδώ είναι η σύνταξη της μεθόδου indexOf()
:
var index = array.indexOf(searchElement, startIndex);
searchElement
: Το στοιχείο που αναζητείται στον πίνακα.startIndex
(προαιρετικό): Η θέση εκκίνησης της αναζήτησης στον πίνακα. Προεπιλεγμένη τιμή είναι 0.
Η μέθοδος indexOf()
επιστρέφει τη θέση του πρώτου εμφανιζόμενου στοιχείου στον πίνακα. Αν το στοιχείο δεν βρεθεί, επιστρέφεται -1.
Εδώ είναι ένα παράδειγμα χρήσης της μεθόδου indexOf()
:
var fruits = ['Apple', 'Banana', 'Orange', 'Apple']; var index = fruits.indexOf('Apple'); console.log(index); // Εμφανίζει: 0 index = fruits.indexOf('Orange'); console.log(index); // Εμφανίζει: 2 index = fruits.indexOf('Grapes'); console.log(index); // Εμφανίζει: -1
Σε αυτό το παράδειγμα, η μέθοδος indexOf()
χρησιμοποιείται για να βρει τη θέση των στοιχείων “Apple”, “Orange” και “Grapes” στον πίνακα fruits
. Το στοιχείο “Apple” εμφανίζεται δύο φορές στον πίνακα, αλλά η μέθοδος indexOf()
επιστρέφει μόνο τη θέση της πρώτης εμφάνισης. Το στοιχείο “Orange” βρίσκεται στη θέση 2, ενώ το στοιχείο “Grapes” δεν υπάρχει στον πίνακα, οπότε επιστρέφεται -1.
Η μέθοδος lastIndexOf()
του πίνακα επιστρέφει τη θέση της τελευταίας εμφάνισης ενός στοιχείου σε έναν πίνακα, ή -1 εάν το στοιχείο δεν βρίσκεται στον πίνακα.
Εδώ είναι η σύνταξη της μεθόδου lastIndexOf()
:
var index = array.lastIndexOf(searchElement, startIndex);
searchElement
: Το στοιχείο που αναζητείται στον πίνακα.startIndex
(προαιρετικό): Η θέση εκκίνησης της αναζήτησης στον πίνακα. Προεπιλεγμένη τιμή είναιarray.length - 1
.
Η μέθοδος lastIndexOf()
επιστρέφει τη θέση της τελευταίας εμφάνισης του στοιχείου στον πίνακα. Αν το στοιχείο δεν βρεθεί, επιστρέφεται -1.
Εδώ είναι ένα παράδειγμα χρήσης της μεθόδου lastIndexOf()
:
var fruits = ['Apple', 'Banana', 'Orange', 'Apple']; var index = fruits.lastIndexOf('Apple'); console.log(index); // Εμφανίζει: 3 index = fruits.lastIndexOf('Orange'); console.log(index); // Εμφανίζει: 2 index = fruits.lastIndexOf('Grapes'); console.log(index); // Εμφανίζει: -1
Σε αυτό το παράδειγμα, η μέθοδος lastIndexOf()
χρησιμοποιείται για να βρει τη θέση των στοιχείων “Apple”, “Orange” και “Grapes” στον πίνακα fruits
. Το στοιχείο “Apple” εμφανίζεται δύο φορές στον πίνακα, αλλά η μέθοδος lastIndexOf()
επιστρέφει τη θέση της τελευταίας εμφάνισης, που είναι 3. Το στοιχείο “Orange” βρίσκεται στη θέση 2, ενώ το στοιχείο “Grapes” δεν υπάρχει στον πίνακα, οπότε επιστρέφεται -1.
Η μέθοδος find()
του πίνακα επιστρέφει την πρώτη τιμή του πίνακα που πληροί μια συγκεκριμένη συνθήκη που ορίζεται από μια συνάρτηση επιστροφής (callback function).
Εδώ είναι η σύνταξη της μεθόδου find()
:
var result = array.find(function(element, index, array) { // Επιστρέφει true ή false αν το στοιχείο πληροί τη συνθήκη });
Η συνάρτηση που περνάτε στην find()
λαμβάνει τρία ορίσματα:
element
: Το τρέχον στοιχείο του πίνακα.index
: Ο δείκτης (index) του τρέχοντος στοιχείου.array
: Ο ίδιος ο πίνακας που επαναλαμβάνεται.
Η συνάρτηση πρέπει να επιστρέφει true
ή false
για κάθε στοιχείο, ανάλογα με το κατά πόσο πληροί τη συνθήκη ή όχι. Η find()
μέθοδος επιστρέφει την πρώτη τιμή που πληροί τη συνθήκη ή undefined
αν κανένα στοιχείο δεν την πληροί.
[adinserter block=”5″]
Εδώ είναι ένα παράδειγμα χρήσης της μεθόδου find()
:
var numbers = [1, 2, 3, 4, 5]; var result = numbers.find(function(number) { return number % 2 === 0; }); console.log(result); // Εμφανίζει: 2
Σε αυτό το παράδειγμα, η συνάρτηση που περνάμε στην find()
ελέγχει αν υπάρχει κάποιο άρτιο στοιχείο στον πίνακα, χρησιμοποιώντας τον τελεστή %
(modulo). Η μέθοδος find()
επιστρέφει την πρώτη άρτια τιμή που βρίσκει, που είναι 2 στην περίπτωση αυτή.
Η μέθοδος findIndex()
του πίνακα επιστρέφει τη θέση της πρώτης τιμής του πίνακα που πληροί μια συγκεκριμένη συνθήκη που ορίζεται από μια συνάρτηση επιστροφής (callback function).
Εδώ είναι η σύνταξη της μεθόδου findIndex()
:
var index = array.findIndex(function(element, index, array) { // Επιστρέφει true ή false αν το στοιχείο πληροί τη συνθήκη });
Η συνάρτηση που περνάτε στην findIndex()
λαμβάνει τρία ορίσματα:
element
: Το τρέχον στοιχείο του πίνακα.index
: Ο δείκτης (index) του τρέχοντος στοιχείου.array
: Ο ίδιος ο πίνακας που επαναλαμβάνεται.
Η συνάρτηση πρέπει να επιστρέφει true
ή false
για κάθε στοιχείο, ανάλογα με το κατά πόσο πληροί τη συνθήκη ή όχι. Η findIndex()
μέθοδος επιστρέφει τη θέση της πρώτης τιμής που πληροί τη συνθήκη ή -1 αν κανένα στοιχείο δεν την πληροί.
Εδώ είναι ένα παράδειγμα χρήσης της μεθόδου findIndex()
:
var numbers = [1, 2, 3, 4, 5]; var index = numbers.findIndex(function(number) { return number % 2 === 0; }); console.log(index); // Εμφανίζει: 1
Σε αυτό το παράδειγμα, η συνάρτηση που περνάμε στην findIndex()
ελέγχει αν υπάρχει κάποιο άρτιο στοιχείο στον πίνακα, χρησιμοποιώντας τον τελεστή %
(modulo). Η μέθοδος findIndex()
επιστρέφει τη θέση του πρώτου άρτιου στοιχείου που βρίσκει, που είναι 1 στην περίπτωση αυτή.
Η μέθοδος Array.from()
δημιουργεί ένα νέο πίνακα από ένα επαναληπτικό αντικείμενο ή μια ενσωματωμένη συλλογή δεδομένων (όπως ένα πίνακα ή μια συμβολοσειρά).
Εδώ είναι η σύνταξη της μεθόδου Array.from()
:
Array.from(iterable, mapFunction, thisValue);
iterable
: Ένα επαναληπτικό αντικείμενο ή μια ενσωματωμένη συλλογή δεδομένων από την οποία θα δημιουργηθεί ο νέος πίνακας.mapFunction
(προαιρετικό): Μια συνάρτηση που ορίζει μια λειτουργία μετασχηματισμού για κάθε στοιχείο του πίνακα.thisValue
(προαιρετικό): Ένα αντικείμενο που θα χρησιμοποιηθεί ωςthis
κατά την εκτέλεση τηςmapFunction
.
Η μέθοδος Array.from()
δημιουργεί έναν νέο πίνακα αντιγράφοντας τα στοιχεία από το επαναληπτικό αντικείμενο ή την ενσωματωμένη συλλογή δεδομένων που παρέχεται. Αν παρέχεται μια συνάρτηση mapFunction
, αυτή η συνάρτηση θα εφαρμοστεί σε κάθε στοιχείο του νέου πίνακα πριν από την αντιγραφή του.
Εδώ είναι ένα παράδειγμα χρήσης της μεθόδου Array.from()
:
var string = 'Hello'; var array = Array.from(string); console.log(array); // Εμφανίζει: ["H", "e", "l", "l", "o"]
Σε αυτό το παράδειγμα, η μέθοδος Array.from()
χρησιμοποιείται για να δημιουργήσει έναν νέο πίνακα array
από τη συμβολοσειρά "Hello"
. Κάθε γράμμα της συμβολοσειράς γίνεται ένα στοιχείο του πίνακα.
Η μέθοδος keys()
του πίνακα επιστρέφει ένα νέο αντικείμενο επαναληπτή που περιέχει τα κλειδιά (δείκτες) για κάθε στοιχείο στον πίνακα.
Εδώ είναι η σύνταξη της μεθόδου keys()
:
var iterator = array.keys();
Η keys()
μέθοδος δεν αντιγράφει τα στοιχεία του πίνακα σε ένα νέο πίνακα, αλλά επιστρέφει έναν επαναληπτή (iterator) που μπορεί να χρησιμοποιηθεί για να πάρει τα κλειδιά (δείκτες) για κάθε στοιχείο του πίνακα.
Εδώ είναι ένα παράδειγμα χρήσης της μεθόδου keys()
:
var fruits = ['Apple', 'Banana', 'Orange']; var iterator = fruits.keys(); for (var key of iterator) { console.log(key); // Εμφανίζει: 0, 1, 2 }
Σε αυτό το παράδειγμα, η μέθοδος keys()
χρησιμοποιείται για να πάρει έναν επαναληπτή (iterator) από τον πίνακα fruits
. Στη συνέχεια, χρησιμοποιούμε τη for...of
δομή επανάληψης για να πάρουμε κάθε κλειδί (δείκτη) για κάθε στοιχείο του πίνακα και να το εμφανίσουμε. Σε αυτήν την περίπτωση, τα κλειδιά είναι 0, 1 και 2, αντίστοιχα για τα στοιχεία “Apple”, “Banana” και “Orange”.
Η μέθοδος entries()
του πίνακα επιστρέφει έναν νέο αντικείμενο επαναληπτή που περιέχει τα ζευγάρια κλειδιού-τιμής για κάθε στοιχείο στον πίνακα.
Εδώ είναι η σύνταξη της μεθόδου entries()
:
var iterator = array.entries();
Η entries()
μέθοδος δεν αντιγράφει τα στοιχεία του πίνακα σε έναν νέο πίνακα, αλλά επιστρέφει έναν επαναληπτή (iterator) που μπορεί να χρησιμοποιηθεί για να πάρει τα ζευγάρια κλειδιού-τιμής για κάθε στοιχείο του πίνακα.
Εδώ είναι ένα παράδειγμα χρήσης της μεθόδου entries()
:
var fruits = ['Apple', 'Banana', 'Orange']; var iterator = fruits.entries(); for (var entry of iterator) { console.log(entry); // Εμφανίζει: [0, "Apple"], [1, "Banana"], [2, "Orange"] }
Σε αυτό το παράδειγμα, η μέθοδος entries()
χρησιμοποιείται για να πάρει έναν επαναληπτή (iterator) από τον πίνακα fruits
. Στη συνέχεια, χρησιμοποιούμε τη for...of
δομή επανάληψης για να πάρουμε κάθε ζευγάρι κλειδιού-τιμής για κάθε στοιχείο του πίνακα και να το εμφανίσουμε. Σε αυτήν την περίπτωση, τα ζευγάρια είναι [0, "Apple"]
, [1, "Banana"]
και [2, "Orange"]
, αντίστοιχα για τα στοιχεία “Apple”, “Banana” και “Orange”.
Η μέθοδος includes()
του πίνακα επιστρέφει true
εάν ο πίνακας περιέχει ένα συγκεκριμένο στοιχείο και false
διαφορετικά.
Εδώ είναι η σύνταξη της μεθόδου includes()
:
array.includes(element, startIndex);
element
: Το στοιχείο που αναζητείτε στον πίνακα.startIndex
(προαιρετικό): Η θέση εκκίνησης της αναζήτησης. Προεπιλεγμένα είναι 0 (αρχή του πίνακα).
Η μέθοδος includes()
επιστρέφει true
αν το στοιχείο βρίσκεται στον πίνακα και false
διαφορετικά. Μπορείτε να χρησιμοποιήσετε τον προαιρετικό παράμετρο startIndex
για να καθορίσετε τη θέση από την οποία ξεκινά η αναζήτηση στον πίνακα.
Εδώ είναι ένα παράδειγμα χρήσης της μεθόδου includes()
:
var numbers = [1, 2, 3, 4, 5]; console.log(numbers.includes(3)); // Εμφανίζει: true console.log(numbers.includes(6)); // Εμφανίζει: false
Σε αυτό το παράδειγμα, η μέθοδος includes()
χρησιμοποιείται για να ελέγξει αν ο πίνακας numbers
περιέχει το στοιχείο 3 και 6 αντίστοιχα. Επειδή το στοιχείο 3 υπάρχει στον πίνακα, η πρώτη κλήση επιστρέφει true
. Ωστόσο, το στοιχείο 6 δεν υπάρχει στον πίνακα, επομένως η δεύτερη κλήση επιστρέφει false
.
Ο τελεστής διάσπασης (spread operator) ...
σε πίνακες (arrays) χρησιμοποιείται για να αποδεσμεύσει (απλώσει) τα στοιχεία ενός πίνακα ή άλλης επαναλαμβανόμενης δομής σε έναν άλλο πίνακα.
Εδώ είναι μερικά παραδείγματα χρήσης του τελεστή διάσπασης σε πίνακες:
var array1 = [1, 2, 3]; var array2 = [4, 5, 6]; var mergedArray = [...array1, ...array2]; console.log(mergedArray); // Εμφανίζει: [1, 2, 3, 4, 5, 6] var copiedArray = [...array1]; console.log(copiedArray); // Εμφανίζει: [1, 2, 3]
Στο παράδειγμα παραπάνω, ο τελεστής διάσπασης ...
χρησιμοποιείται για να αποδεσμεύσει τα στοιχεία των πινάκων array1
και array2
και να τα ενσωματώσει στον νέο πίνακα mergedArray
. Ο νέος πίνακας mergedArray
θα περιέχει όλα τα στοιχεία και των δύο αρχικών πινάκων.
Επίσης, μπορείτε να χρησιμοποιήσετε τον τελεστή διάσπασης για να αντιγράψετε έναν πίνακα. Στο παράδειγμα παραπάνω, ο τελεστής διάσπασης ...
χρησιμοποιείται για να αποδεσμεύσει τα στοιχεία του πίνακα array1
και να τα αντιγράψει στον νέο πίνακα copiedArray
.
Ο τελεστής διάσπασης ...
μπορεί να χρησιμοποιηθεί επίσης με άλλες επαναλαμβανόμενες δομές, όπως ταυτόσημες λίστες ή αντικείμενα με ιδιότητες iterable
.