Χάρτης σειράς JavaScript ()

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

Η σύνταξη της map()μεθόδου είναι:

 arr.map(callback(currentValue), thisArg)

Εδώ, arr είναι ένας πίνακας.

map () Παράμετροι

Η map()μέθοδος περιλαμβάνει:

  • callback - Η συνάρτηση που απαιτείται για κάθε στοιχείο πίνακα. Οι τιμές επιστροφής του προστίθενται στο νέο πίνακα. Παίρνει:
    • currentValue - Το τρέχον στοιχείο που περνά από τον πίνακα.
  • thisArg (προαιρετικό) - Τιμή για χρήση thisκατά την εκτέλεση επιστροφής κλήσης. Από προεπιλογή, είναι undefined.

Επιστροφή τιμής από το χάρτη ()

  • Επιστρέφει έναν νέο πίνακα με στοιχεία ως τιμές επιστροφής από τη callbackσυνάρτηση για κάθε στοιχείο.

Σημειώσεις :

  • map() δεν αλλάζει τον αρχικό πίνακα.
  • map()εκτελεί callbackμία φορά για κάθε στοιχείο πίνακα με τη σειρά.
  • map()δεν εκτελείται callbackγια στοιχεία πίνακα χωρίς τιμές.

Παράδειγμα 1: Αντιστοίχιση στοιχείων πίνακα χρησιμοποιώντας προσαρμοσμένη συνάρτηση

 const prices = (1800, 2000, 3000, 5000, 500, 8000); let newPrices = prices.map(Math.sqrt); // ( 42.42640687119285, 44.721359549995796, 54.772255750516614, // 70.71067811865476, 22.360679774997898, 89.44271909999159 ) console.log(newPrices); // custom arrow function const string = "JavaScript"; const stringArr = string.split(''); // array with individual string character let asciiArr = stringArr.map(x => x.charCodeAt(0)); // map() does not change the original array console.log(stringArr); // ('J', 'a', 'v', 'a','S', 'c', 'r', 'i', 'p', 't') console.log(asciiArr); // ( 74, 97, 118, 97, 83, 99, 114, 105, 112, 116 )

Παραγωγή

 (42.42640687119285, 44.721359549995796, 54.772255750516614, 70.71067811865476, 22.360679774997898, 89.44271909999159) ("J", "a", "v", "a", "S", "c", "r", " «t») (74, 97, 118, 97, 83, 99, 114, 105, 112, 116)

Παράδειγμα 2: χάρτης () για στοιχεία αντικειμένων σε πίνακα

 const employees = ( ( name: "Adam", salary: 5000, bonus: 500, tax: 1000 ), ( name: "Noah", salary: 8000, bonus: 1500, tax: 2500 ), ( name: "Fabiano", salary: 1500, bonus: 500, tax: 200 ), ( name: "Alireza", salary: 4500, bonus: 1000, tax: 900 ), ); // calculate the net amout to be given to the employees const calcAmt = (obj) => ( newObj = (); newObj.name = obj.name; newObj.netEarning = obj.salary + obj.bonus - obj.tax; return newObj; ); let newArr = employees.map(calcAmt); console.log(newArr);

Παραγωγή

 ((όνομα: 'Adam', netEarning: 4500), (όνομα: 'Noah', netEarning: 7000), (όνομα: 'Fabiano', netEarning: 1800), (όνομα: 'Alireza', netEarning: 4600))

Σημείωση : map()εκχωρεί undefinedστη νέα συστοιχία εάν η callbackσυνάρτηση επιστρέφει undefinedή μη

Προτεινόμενη ανάγνωση: Φίλτρο συστοιχίας JavaScript ()

ενδιαφέροντα άρθρα...