Artikel kali ini ane bakalan Buat suatu fungsi map dengan menggunakan bahasa pemograman JavaScript tentunya fungsi tersebut tidak akan mengubah environment global dari variable tersebut dan akan mengembalikan nilai dari fungsi tersebut,
Apa itu fungsi Map?
fungsi map merupakan fungsi yang menerapkan high Order fungsi(kalau ngoding pakai bahasa pemograman yang Support function sebagai first class function pasti bakalan tau, kalau nggak googling sendiri arti nya wkwkwkw) , dimana fungsi map memiliki dua Buah paramater Yakni array dan fungsi, nah fungsi map ini akan mengembalikan nilai array yang diberikan sebagai argument berdasarkan fungsi pembentuk(projection) yang akan mentransformasi sebuah elemen dari array tersebut sehingga nama lain dari fungsi ini bisa disebut fungsi projection.
nah sebenarnya fungsi map sudah ada pada JavaScript namun dalam bentuk method suatu array nah kali ini kita akan membuat salinanya dalam bentuk sebuah fungsi.
Nah kenapa ane bikin fungsi map lagi? Kan di JavaScript udah ada? Well karena ane lagi belajar pradigma pemograman fungsional dengan JavaScript, gunanya banyak banget, salah satunya agar nanti ni fungsi map bisa kita gabung gabungin
dengan fungsi lain (tunggu Artikel selanjutnya) .
Ok saatnya kita mulai
Fungsi Map yang kita bikin seperti ini :
const map = (array, fn) => {
let results = [];
for (const value of array) {
results.push(fn(value));
}
return results;
}
*dimana fungsi tersebut akan melakukan perulangan berdasarkan banyak element dalam sebuah array dan sekaligus nilai dari element tersebut akan di passing ke sebuah fungsi dan hasil dari fungsi tersebut dimasukan ke dalam array results yang telah difenisikan. Setelah selesai looping element dari array maka akan mengembalikan nilai results.
Contoh implementasi
Contoh nya kita ada sebuah data berupa array [1, 2, 3] nah kita akan melakukan :
1. Mendapatkan nilai squares dari setiap element tersebut:
Bisa di bikin seperti ini:
console.log(map([1, 2, 3], (x) => x*x));
*hasilnya [1, 4, 9]
2. Mengalikan tiap element dengan angka 6.
Bisa di bikin seperti ini:
console.log(map([1, 2, 3], (x) => x*6));
*hasilnya [6, 12, 18]
3. Atau kita punya sebuah data objek:
let animes = [
{
judul: 'doraemon',
rating: 5
},
{
judul: 'naruto',
rating: 5
}
];
Nah kita ingin mendapatkan dari data tersebut hanya judul anime nya saja(dalam bentuk array tiap element nya objek) maka kita bisa melakukan ini:
console.log(map(animes, (anime) => {
return { judul : anime.judul};
} ));
*hasilnya
[
{
judul: 'doraemon'
},
{
judul: 'naruto'
}
];
Ok mudah bukan dengan fungsi map pekerjaan lebih mudah untuk menggabungkan fungsi tunggu di Artikel berkaitan dengan partial atau curry.
0 comments:
Post a Comment