Истифодаи фиристодани функсия ҳамчун параметр дар JavaScript
Биёед функсияе созем, ки параметраш массив қабул мекунад, ва параметри дуюмаш - функсия бошад. Функсияи фиристодашуда бояд ба ҳар як унсури массив татбиқ карда шавад:
function test(arr, func) {
// массиви тағйирёфтаро бармегардонем
}
Пешниҳод мекунем:
function test(arr, func) {
// Ҳалқаро оғоз мекунем:
for (let i = 0; i < arr.length; i++) {
arr[i] = func(arr[i]); // функсияро ба ҳар як унсур мезанем
}
return arr; // массиви тағйирёфтаро бармегардонем
}
Функсияи худро ба ягон массиве татбиқ кунем:
function 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]-ро мебарорад
Фарозиши функсияи худро зеботар тартиб диҳем (ин тарз бештар маъмул аст):
function 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]-ро мебарорад
Бидуни нигаристанд ба коди ман, худатон чунин
функсияи test-ро пешниҳод кунед.
Функсияи сохтаи худ test-ро фарохонед,
ба он массив бо ададҳо ҳамчун параметр фиристед. Чунон кунед,
ки функсия массиве бо кубҳои
ин ададҳо баргардонад.