Metode map

Metode map memungkinkan untuk menerapkan fungsi yang diberikan untuk setiap elemen array. Pada saat yang sama, metode tidak mengubah array asli, tetapi mengembalikan array yang diubah.

Metode dalam parameter menerima fungsi, yang akan dieksekusi untuk setiap elemen array. Apa yang dikembalikan fungsi ini melalui return untuk elemen array, akan menjadi nilai baru dari elemen tersebut (lihat contoh).

Ke dalam fungsi dapat diteruskan 3 parameter. Jika parameter ini ada (tidak wajib), maka secara otomatis ke parameter pertama akan masuk elemen array, ke parameter kedua akan masuk nomornya dalam array (indeks), dan ke parameter ketiga - array itu sendiri.

Sintaksis

javascriptlet arrayBaru = array.map(function(elemen, indeks, array) {
  kode
  return elemenYangDiubah;
});

Contoh

Mari buat array, di mana setiap elemennya dua kali lipat lebih besar dari elemen yang sesuai pada array awal:

javascriptlet arr = [1, 2, 3, 4, 5];

let res = arr.map(function(elem) {
  return elem * 2;
});

console.log(res);

Hasil eksekusi kode:

javascript[2, 4, 6, 8, 10]

Contoh

Mari buat array, di mana setiap elemennya diperoleh seperti ini - nilai elemen dikalikan dengan nomor urutnya dalam array:

javascriptlet arr = [1, 2, 3, 4, 5];

let res = arr.map(function(elem, index) {
  return elem * index;
});

console.log(res);

Hasil eksekusi kode:

javascript[0, 2, 6, 12, 20]

Contoh

Jika diperlukan, ke parameter ketiga dapat diteruskan array itu sendiri:

javascriptlet arr = [1, 2, 3, 4, 5];

let res = arr.map(function(elem, index, arr) {
  // array arr akan dapat diakses di sini
});

Contoh

Metode map juga dapat digunakan untuk menelusuri array multidimensi. Misalnya, diberikan array seperti ini:

javascriptlet arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

Mari kita telusuri array ini melalui map dan tampilkan elemen-elemennya di konsol:

javascriptlet arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

let result = arr.map(function(elem) {
  console.log(elem);
});

Sebagai hasilnya, console.log akan menampilkan [1, 2, 3], kemudian [4, 5, 6], kemudian [7, 8, 9].

Seperti yang Anda lihat, ke dalam variabel elem masuk sub-array. Sekarang mari terapkan metode map ke setiap sub-array dan pangkatkan setiap elemennya menjadi kuadrat:

javascriptlet arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

let result = arr.map(function(elem) {
  return elem.map(function(num) {
    return num * num;
  });
});

console.log(result);

Lihat juga

  • metode forEach,
    yang menerapkan fungsi untuk setiap elemen array
  • metode filter,
    yang memungkinkan untuk menyaring elemen array
  • metode some dan every,
    yang melakukan pemeriksaan array
  • metode reduce dan reduceRight,
    yang mereduksi array menjadi satu nilai