108 of 264 menu

Η μέθοδος reduce

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

Ως πρώτη παράμετρο, η μέθοδος reduce λαμβάνει μια συνάρτηση, η οποία θα εκτελεστεί διαδοχικά για κάθε στοιχείο του πίνακα, ξεκινώντας από το πρώτο. Σε αυτή τη συνάρτηση μπορούν να περαστούν 4 παράμετροι. Εάν αυτές οι παράμετροι υπάρχουν (δεν είναι υποχρεωτικές), τότε στην πρώτη θα τοποθετηθεί αυτόματα το ενδιάμεσο αποτέλεσμα, στη δεύτερη θα τοποθετηθεί το στοιχείο του πίνακα, στην τρίτη - ο αριθμός του στοιχείου στον πίνακα (δείκτης), και στην τέταρτη - ο ίδιος ο πίνακας.

Το ενδιάμεσο αποτέλεσμα - είναι μια μεταβλητή, στην οποία θα συσσωρεύεται η τιμή που θα επιστρέψει η μέθοδος reduce, όταν περάσει από όλα τα στοιχεία του πίνακα. Για παράδειγμα, εκεί μπορείτε διαδοχικά να συσσωρεύετε το άθροισμα των στοιχείων του πίνακα: πρώτα να βάλετε το πρώτο στοιχείο, στο επόμενο πέρασμα του βρόχου ήδη το άθροισμα του πρώτου και του δεύτερου στοιχείου, στο επόμενο πέρασμα - το άθροισμα του πρώτου, του δεύτερου και του τρίτου. Και έτσι, μέχρι να τελειώσει ο πίνακας. Η συνάρτηση, που δέχεται η reduce, πρέπει να επιστρέφει τη νέα τιμή του ενδιάμεσου αποτελέσματος.

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

Σύνταξη

πίνακας.reduce(function(ενδιάμεσο αποτέλεσμα, στοιχείο, δείκτης, πίνακας) { return νέο ενδιάμεσο αποτέλεσμα; }, αρχική τιμή);

Παράδειγμα

Ας βρούμε το άθροισμα των στοιχείων ενός πίνακα:

let arr = [1, 2, 3, 4, 5, 6]; let res = arr.reduce(function(sum, elem) { return sum + elem; }, 0); console.log(res);

Αποτέλεσμα εκτέλεσης του κώδικα:

21

Παράδειγμα

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

let arr = [1, -2, -3, 4, 5, -6]; let res = arr.reduce(function(sum, elem) { if (elem >= 0) { return sum + elem; } else { return sum; } }, 0); console.log(res);

Αποτέλεσμα εκτέλεσης του κώδικα:

10

Δείτε επίσης

  • η μέθοδος reduceRight,
    που εκτελεί παρόμοια λειτουργία
  • η μέθοδος filter,
    που επιτρέπει το φιλτράρισμα στοιχείων πίνακα
  • οι μέθοδοι map και forEach,
    που επιτρέπουν την εφαρμογή συνάρτησης σε κάθε στοιχείο πίνακα
  • οι μέθοδοι some και every,
    που εκτελούν έλεγχο πίνακα
Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη