Peta Array JavaScript ()

Metode JavaScript Array map () membuat larik baru dengan hasil pemanggilan fungsi untuk setiap elemen larik.

Sintaks dari map()metode ini adalah:

 arr.map(callback(currentValue), thisArg)

Di sini, arr adalah sebuah array.

map () Parameter

The map()Metode mengambil di:

  • callback - Fungsi yang dipanggil untuk setiap elemen array. Nilai kembaliannya ditambahkan ke array baru. Dibutuhkan:
    • currentValue - Elemen saat ini sedang diteruskan dari larik.
  • thisArg (opsional) - Nilai untuk digunakan seperti thissaat menjalankan callback. Secara default, ini undefined.

Kembalikan nilai dari peta ()

  • Mengembalikan array baru dengan elemen sebagai nilai yang dikembalikan dari callbackfungsi untuk setiap elemen.

Catatan :

  • map() tidak mengubah larik asli.
  • map()dijalankan callbacksekali untuk setiap elemen array secara berurutan.
  • map()tidak dijalankan callbackuntuk elemen array tanpa nilai.

Contoh 1: Memetakan elemen array menggunakan fungsi kustom

 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 )

Keluaran

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

Contoh 2: map () untuk elemen objek dalam larik

 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);

Keluaran

 ((name: 'Adam', netEarning: 4500), (name: 'Noah', netEarning: 7000), (name: 'Fabiano', netEarning: 1800), (name: 'Alireza', netEarning: 4600))

Catatan : map()menetapkan undefinedke array baru jika callbackfungsinya kembali undefinedatau tidak sama sekali.

Bacaan yang Direkomendasikan: JavaScript Array filter ()

Artikel yang menarik...