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:
function test(arr, func) {
// üýtgedilen massiwy yzyna gaýtaryň
}
Amala aşyryň:
function 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ň:
function 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ň:
function 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
Meniň koduma seretmezden, şuňa meňzeş
test funksiýasyny özbaşyna amala aşyryň.
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ň.