23. Επαναληπτικές μέθοδοι πινάκων (array iteration methods) JavaScript

JS Array Iteration


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


Array.forEach()

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

Παράδειγμα

var txt = "";
var numbers = [45, 4, 9, 16, 25];
numbers.forEach(myFunction);

function myFunction(value, index, array) {
  txt = txt + value + "<br>";
}

Δοκιμάστε το »

Σημειώστε ότι η συνάρτηση παίρνει 3 ορίσματα:

  • Την τιμή των στοιχείων
  • Τον δείκτη των στοιχείων
  • Τον ίδιο τον πίνακα

Το παραπάνω παράδειγμα χρησιμοποιεί μόνο την παράμετρο τιμών. Το παράδειγμα μπορεί να ξαναγραφεί σε:

Παράδειγμα

var txt = "";
var numbers = [45, 4, 9, 16, 25];
numbers.forEach(myFunction);

function myFunction(value) {
  txt = txt + value + "<br>";
}

Δοκιμάστε το »

Η Array.forEach() υποστηρίζεται σε όλα τα προγράμματα περιήγησης εκτός από τον Internet Explorer 8 ή παλαιότερο:

Yes9.0YesYesYes

Array.map()

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

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

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

Αυτό το παράδειγμα πολλαπλασιάζει κάθε τιμή του πίνακα με το 2:

Παράδειγμα

var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);

function myFunction(value, index, array) {
  return value * 2;
}

Δοκιμάστε το »

Σημειώστε ότι η συνάρτηση παίρνει 3 ορίσματα:

  • Την τιμή των στοιχείων
  • Τον δείκτη των στοιχείων
  • Τον ίδιο τον πίνακα

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

Παράδειγμα

var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);

function myFunction(value) {
  return value * 2;
}

Δοκιμάστε το »

Η Array.map() υποστηρίζεται σε όλα τα προγράμματα περιήγησης εκτός του Internet Explorer 8 ή παλαιότερου.

Yes9.0YesYesYes

Array.filter()

Η μέθοδος  filter() δημιουργεί μια νέα συστοιχία με στοιχεία πίνακα τα οποία περνάει από ένα τεστ.

Αυτό το παράδειγμα δημιουργεί ένα νέο πίνακα από στοιχεία με τιμή μεγαλύτερη από 18:

Παράδειγμα

var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);

function myFunction(value, index, array) {
  return value > 18;
}

Δοκιμάστε το »

Σημειώστε ότι η συνάρτηση παίρνει 3 ορίσματα:

  • Την τιμή των στοιχείων
  • Τον δείκτη των στοιχείων
  • Τον ίδιο τον πίνακα

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

Παράδειγμα

var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);

function myFunction(value) {
  return value > 18;
}

Δοκιμάστε το »

Η Array.filter() υποστηρίζεται σε όλα τα προγράμματα περιήγησης εκτός του Internet Explorer 8 ή παλαιότερου.

Yes9.0YesYesYes

Array.reduce()

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

Η μέθοδος reduce() λειτουργεί από αριστερά προς δεξιά στον πίνακα. Δείτε επίσης reduceRight().

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

Αυτό το παράδειγμα βρίσκει το άθροισμα όλων των αριθμών σε μια συστοιχία:

Παράδειγμα

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction);

function myFunction(total, value, index, array) {
  return total + value;
}

Δοκιμάστε το »

Σημειώστε ότι η συνάρτηση λαμβάνει 4 ορίσματα:

  • Το σύνολο (την αρχική τιμή / την τιμή που είχε προηγουμένως επιστραφεί)
  • Την τιμή των στοιχείων
  • Τον δείκτη των στοιχείων
  • Τον ίδιο τον πίνακα

Το παραπάνω παράδειγμα δεν χρησιμοποιεί τις παραμέτρους δείκτη και πίνακα. Μπορεί να ξαναγραφεί για:

Παράδειγμα

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction);

function myFunction(total, value) {
  return total + value;
}

Δοκιμάστε το »

Η μέθοδος reduce() μπορεί να κάνει αποδεκτή μια αρχική τιμή:

Παράδειγμα

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction, 100);

function myFunction(total, value) {
  return total + value;
}

Δοκιμάστε το »

Η Array.reduce() υποστηρίζεται σε όλα τα προγράμματα περιήγησης εκτός του Internet Explorer 8 ή παλαιότερου.

Yes9.0YesYesYes

Array.reduceRight()

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

Η μέθοδος reduceRight() λειτουργεί από δεξιά προς τα αριστερά στον πίνακα. Δείτε επίσης reduce().

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

Αυτό το παράδειγμα βρίσκει το άθροισμα όλων των αριθμών σε μια συστοιχία:

Παράδειγμα

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduceRight(myFunction);

function myFunction(total, value, index, array) {
  return total + value;
}

Δοκιμάστε το »

Σημειώστε ότι η συνάρτηση λαμβάνει 4 ορίσματα:

  • Το σύνολο (την αρχική τιμή / την τιμή που είχε προηγουμένως επιστραφεί)
  • Την τιμή των στοιχείων
  • Τον δείκτη των στοιχείων
  • Τον ίδιο τον πίνακα

Το παραπάνω παράδειγμα δεν χρησιμοποιεί τις παραμέτρους δείκτη και πίνακα. Μπορεί να ξαναγραφεί ως:

Παράδειγμα

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduceRight(myFunction);

function myFunction(total, value) {
  return total + value;
}

Δοκιμάστε το »

Η Array.reduceRight() υποστηρίζεται σε όλα τα προγράμματα περιήγησης εκτός του Internet Explorer 8 ή παλαιότερου.

Yes9.0YesYesYes

Array.every()

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

Αυτό το παράδειγμα ελέγχει εάν όλες οι τιμές πίνακα είναι μεγαλύτερες από 18:

Παράδειγμα

var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.every(myFunction);

function myFunction(value, index, array) {
  return value > 18;
}

Δοκιμάστε το »

Σημειώστε ότι η συνάρτηση παίρνει 3 ορίσματα:

  • Την τιμή των στοιχείων
  • Τον δείκτη των στοιχείων
  • Τον ίδιο τον πίνακα

Όταν μια συνάρτηση επανάκλησης χρησιμοποιεί μόνο την πρώτη παράμετρο (τιμή), οι άλλες παράμετροι μπορούν να παραλειφθούν:

Παράδειγμα

var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.every(myFunction);

function myFunction(value) {
  return value > 18;
}

Δοκιμάστε το »

Η Array.every() υποστηρίζεται σε όλα τα προγράμματα περιήγησης εκτός του Internet Explorer 8 ή παλαιότερου.

Yes9.0YesYesYes

Array.some()

Η μέθοδος some() ελέγχει εάν ορισμένες τιμές πίνακα περνούν ένα τεστ.

Αυτό το παράδειγμα ελέγχει αν ορισμένες τιμές πίνακα είναι μεγαλύτερες από 18:

Παράδειγμα

var numbers = [45, 4, 9, 16, 25];
var someOver18 = numbers.some(myFunction);

function myFunction(value, index, array) {
  return value > 18;
}

Δοκιμάστε το »

Σημειώστε ότι η συνάρτηση παίρνει 3 arguments:

  • Την τιμή των στοιχείων
  • Τον δείκτη των στοιχείων
  • Τον ίδιο τον πίνακα

Η Array.some() υποστηρίζεται σε όλα τα προγράμματα περιήγησης εκτός του Internet Explorer 8 ή παλαιότερου.

Yes9.0YesYesYes

Array.indexOf()

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

Σημείωση: Το πρώτο στοιχείο έχει θέση 0, το δεύτερο στοιχείο έχει τη θέση 1 και ούτω καθεξής.

Παράδειγμα

var fruits = ["Apple", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");

Δοκιμάστε το »

Η Array.indexOf() υποστηρίζεται σε όλα τα προγράμματα περιήγησης εκτός του Internet Explorer 8 ή παλαιότερου.

Yes9.0YesYesYes

Σύνταξη

array.indexOf(item, start)

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

H Array.indexOf() επιστρέφει -1 εάν το στοιχείο δεν βρίσκεται.

Εάν το στοιχείο υπάρχει περισσότερες από μία φορές, επιστρέφει τη θέση της πρώτης του εμφάνισης.


Array.lastIndexOf()

Η Array.lastIndexOf()είναι το ίδιο με Array.indexOf(), αλλά επιστρέφει τη θέση της τελευταίας εμφάνισης του καθορισμένου στοιχείου.

Παράδειγμα

Αναζήτηση πίνακα για το στοιχείο “Apple”:

var fruits = ["Apple", "Orange", "Apple", "Mango"];
var a = fruits.lastIndexOf("Apple");

Δοκιμάστε το »

Η Array.lastIndexOf() υποστηρίζεται σε όλα τα προγράμματα περιήγησης εκτός του Internet Explorer 8 ή παλαιότερου.

Yes9.0YesYesYes

Σύνταξη

array.lastIndexOf(item, start)

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

Array.find()

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

Αυτό το παράδειγμα βρίσκει (επιστρέφει την τιμή από) το πρώτο στοιχείο που είναι μεγαλύτερο από 18:

Παράδειγμα

var numbers = [4, 9, 16, 25, 29];
var first = numbers.find(myFunction);

function myFunction(value, index, array) {
  return value > 18;
}

Δοκιμάστε το »

Σημειώστε ότι η συνάρτηση παίρνει 3 ορίσματα:

  • Την τιμή των στοιχείων
  • Τον δείκτη των στοιχείων
  • Τον ίδιο τον πίνακα

Η Array.find()δεν υποστηρίζεται σε παλαιότερα προγράμματα περιήγησης. Οι πρώτες εκδόσεις προγραμμάτων περιήγησης με πλήρη υποστήριξη παρατίθενται παρακάτω.

451225832

Array.findIndex()

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

Αυτό το παράδειγμα βρίσκει τον δείκτη του πρώτου στοιχείου που είναι μεγαλύτερος από 18:

Παράδειγμα

var numbers = [4, 9, 16, 25, 29];
var first = numbers.findIndex(myFunction);

function myFunction(value, index, array) {
  return value > 18;
}

Δοκιμάστε το »

Σημειώστε ότι η συνάρτηση παίρνει 3 ορίσματα:

  • Την τιμή των στοιχείων
  • Τον δείκτη των στοιχείων
  • Τον ίδιο τον πίνακα

Η Array.findIndex()δεν υποστηρίζεται σε παλαιότερα προγράμματα περιήγησης. Οι πρώτες εκδόσεις προγραμμάτων περιήγησης με πλήρη υποστήριξη παρατίθενται παρακάτω.

451225832

Days
Hours
Minutes

23. Επαναληπτικές μέθοδοι πινάκων (array iteration methods) JavaScript

Κοινοποίηση

Share on facebook
Share on twitter

Ακολουθήστε μας

Αρέσει σε %d bloggers: