Zbatimi i transmetimit të funksionit si parametër në JavaScript

Le të bëjmë një funksion që do të marrë si parametër një array, dhe si parametër të dytë - një funksion. Funksioni i transmetuar duhet të aplikohet për çdo element të array:

javascriptfunction test(arr, func) {
  // kthejmë array-in e modifikuar
}

Le ta implementojmë:

javascriptfunction test(arr, func) {
  // Nisim ciklin:
  for (let i = 0; i < arr.length; i++) {
    arr[i] = func(arr[i]); // aplikojmë funksionin për çdo element
  }
  
  return arr; // kthejmë array-in e modifikuar
}

Le ta aplikojmë funksionin tonë në një array:

javascriptfunction test(arr, func) {
  for (let i = 0; i < arr.length; i++) {
    arr[i] = func(arr[i]);
  }
  
  return arr;
}

// Transformojmë array-in e numrave në array të katrorëve të tyre:
let result = test(
  [1, 2, 3],
  function(num) {return num * num;}
);

console.log(result); // do të shfaqë [1, 4, 9]

Le ta paraqesim thirrjen e funksionit tonë në mënyrë më elegante (kështu është më e pranuar):

javascriptfunction test(arr, func) {
  for (let i = 0; i < arr.length; i++) {
    arr[i] = func(arr[i]);
  }
  
  return arr;
}

// Le ta paraqesim kodin në mënyrë më elegante:
let result = test([1, 2, 3], function(num) {
  return num * num;
});

console.log(result); // do të shfaqë [1, 4, 9]
Задание 1

Pa parë në kodin tim, implementoni një funksion të tillë test në mënyrë të pavarur.

Задание 2

Thirrni funksionin tuaj të krijuar test, duke i kaluar si parametër një array me numra. Bëni që funksioni të kthejë një array me kube të këtyre numrave.