Истифодаи фиристодани функсия ҳамчун параметр дар JavaScript

Биёед функсияе созем, ки параметраш массив қабул мекунад, ва параметри дуюмаш - функсия бошад. Функсияи фиристодашуда бояд ба ҳар як унсури массив татбиқ карда шавад:

javascriptfunction test(arr, func) {
  // массиви тағйирёфтаро бармегардонем
}

Пешниҳод мекунем:

javascriptfunction test(arr, func) {
  // Ҳалқаро оғоз мекунем:
  for (let i = 0; i < arr.length; i++) {
    arr[i] = func(arr[i]); // функсияро ба ҳар як унсур мезанем
  }
  
  return arr; // массиви тағйирёфтаро бармегардонем
}

Функсияи худро ба ягон массиве татбиқ кунем:

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

// Массиви ададҳоро ба массиви квадратҳои онҳо табдил медиҳем:
let result = test(
  [1, 2, 3],
  function(num) {return num * num;}
);

console.log(result); // [1, 4, 9]-ро мебарорад

Фарозиши функсияи худро зеботар тартиб диҳем (ин тарз бештар маъмул аст):

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

// Кодро зеботар тартиб медиҳем:
let result = test([1, 2, 3], function(num) {
  return num * num;
});

console.log(result); // [1, 4, 9]-ро мебарорад
Задание 1

Бидуни нигаристанд ба коди ман, худатон чунин функсияи test-ро пешниҳод кунед.

Задание 2

Функсияи сохтаи худ test-ро фарохонед, ба он массив бо ададҳо ҳамчун параметр фиристед. Чунон кунед, ки функсия массиве бо кубҳои ин ададҳо баргардонад.