Fungsi Callback dalam JavaScript

Fungsi dapat diteruskan sebagai parameter ke fungsi lain. Fungsi parameter seperti ini disebut callback (callback). Mari kita lihat cara kerjanya dengan sebuah contoh.

Misalkan kita ingin membuat fungsi yang parameternya pertama akan menerima array, dan yang kedua - sebuah callback, yang akan diterapkan ke setiap elemen array:

javascriptfunction each(arr, callback) {
  // kode di sini
}

Mari kita tulis implementasi fungsi kita:

javascriptfunction each(arr, callback) {
  let result = [];
  
  for (let elem of arr) {
    result.push( callback(elem) ); // memanggil fungsi callback
  }
  
  return result;
}

Fungsi each kita bersifat universal. Ini berarti kita dapat meneruskan berbagai callback ke dalamnya, melakukan operasi yang berbeda pada array. Sementara itu, kode fungsi kita akan tetap tidak berubah - hanya callback yang diteruskan yang akan berubah.

Sebagai contoh, mari kita gunakan fungsi kita untuk memangkatkan dua setiap elemen dari suatu array. Untuk melakukan ini, kita akan meneruskan callback yang sesuai sebagai parameter:

javascriptlet result = each([1, 2, 3, 4, 5], function(num) {
  return num ** 2;
});

console.log(result);

Sekarang mari kita pangkatkan tiga elemen array. Untuk melakukan ini, kita akan meneruskan callback yang berbeda sebagai parameter, yang melakukan operasi ini:

javascriptlet result = each([1, 2, 3, 4, 5], function(num) {
  return num ** 3;
});

console.log(result);
Задание 1

Diberikan array berisi angka. Dengan menggunakan fungsi each yang kita buat, gandakan setiap elemennya.

Задание 2

Diberikan array berisi string. Dengan menggunakan fungsi each yang kita buat, balikkan karakter setiap string dalam urutan terbalik.

Задание 3

Diberikan array berisi string. Dengan menggunakan fungsi each yang kita buat, jadikan huruf kapital karakter pertama setiap string.