Materi
Method map menghasilkan array baru dengan panjang sama, berisi hasil fungsi untuk setiap isi. Method filter menghasilkan array baru berisi isi yang membuat fungsinya bernilai true. Method reduce meringkas seluruh isi menjadi satu nilai.
const harga = [15000, 4000, 25000];
console.log(harga.map((h) => h * 2)); // [30000, 8000, 50000]
console.log(harga.filter((h) => h > 10000)); // [15000, 25000]
console.log(harga.reduce((jumlah, h) => jumlah + h, 0)); // 44000Argumen kedua reduce adalah nilai awal penampungnya. Untuk penjumlahan, nilai awalnya 0. Ketiga method ini tidak mengubah array aslinya, melainkan menghasilkan nilai baru, sehingga keduanya dapat dirangkai dengan tanda titik dalam satu baris.
Ketiganya menjawab tiga pertanyaan yang berbeda, dan memilih yang tepat menentukan bentuk kodenya. map menjawab ubah setiap baris menjadi apa, filter menjawab baris mana yang dipakai, reduce menjawab berapa jumlah atau ringkasannya. Satu baris laporan gaji menggabungkan ketiganya: daftar.filter((o) => o.kota === "Bandung").map((o) => o.gaji).reduce((j, g) => j + g, 0) menghitung total gaji pegawai satu kota tanpa satu pun perulangan tertulis.