JavaScript-de funksiýany parametr hökmünde geçirmegiň ulanylyşy

Bir funksiýa düzeliň, onuň birinji parametri massiw, ikinji parametri bolsa funksiýa bolsun. Geçirilen funksiýa massiwiň her bir elementine ulanylmaly:

javascriptfunction test(arr, func) {
  // üýtgedilen massiwy yzyna gaýtaryň
}

Amala aşyryň:

javascriptfunction test(arr, func) {
  // Sikly başlaýarys:
  for (let i = 0; i < arr.length; i++) {
    arr[i] = func(arr[i]); // her elemente funksiýany ulanyň
  }
  
  return arr; // üýtgedilen massiwy yzyna gaýtarýarys
}

Iňlisçe: "Less than or equal to 5". Biz ýöne "5-den kiçi ýa-da deň" diýip terjime ederis. Iňlisçe: "Greater than 5". Biz "5-den uly" diýip terjime ederis. Iňlisçe: "Less than zero". Biz "nölden kiçi" diýip terjime ederis. Ýöne bu ýerde biz aşakdaky kodyň içindäki kommentleri we çykyş ýazgylaryny terjimeläýäris. Indi öz funksiýamyzy käbir massiwe ulanyň:

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

// Sanlaryň massiwini olaryň kwadratlarynyň massiwine öwüreliň:
let result = test(
  [1, 2, 3],
  function(num) {return num * num;}
);

console.log(result); // [1, 4, 9] görkezer

Funksiýamyzyň çagyryşyny gözel (şeýle kabul edilýän usulda) resmileşdireliň:

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

// Kody gözel resmileşdireliň:
let result = test([1, 2, 3], function(num) {
  return num * num;
});

console.log(result); // [1, 4, 9] görkezer
Задание 1

Meniň koduma seretmezden, şuňa meňzeş test funksiýasyny özbaşyna amala aşyryň.

Задание 2

Düzen test funksiýaňyzy çagyryň, ona sanlaryň massiwini parametr hökmünde beriň. Funksiýanyň bu sanlaryň kublarynyň massiwini yzyna gaýtarmagyny üpjün ediň.