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, iniundefined.
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()dijalankancallbacksekali untuk setiap elemen array secara berurutan.map()tidak dijalankancallbackuntuk 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 ()








