जावास्क्रिप्ट में कॉलबैक फंक्शन
फंक्शन को दूसरे फंक्शन में पैरामीटर के रूप में पास किया जा सकता है। ऐसे फंक्शन-पैरामीटर को कॉलबैक (callback) कहा जाता है। आइए एक उदाहरण के साथ उनके साथ काम करना देखें।
मान लीजिए कि हम एक ऐसा फंक्शन बनाना चाहते हैं जो पहले पैरामीटर के रूप में एक ऐरे लेगा, और दूसरे के रूप में - एक कॉलबैक, जो ऐरे के प्रत्येक तत्व पर लागू होगा:
function each(arr, callback) {
// यहाँ कोड है
}
आइए हमारे फंक्शन का कार्यान्वयन लिखें:
function each(arr, callback) {
let result = [];
for (let elem of arr) {
result.push( callback(elem) ); // कॉलबैक फंक्शन को कॉल करें
}
return result;
}
हमारा फंक्शन each - सार्वभौमिक है।
इसका मतलब है कि हम इसमें विभिन्न कॉलबैक
पास कर सकते हैं, ऐरे पर विभिन्न ऑपरेशन
कर सकते हैं। इसके साथ ही हमारे फंक्शन का कोड अपरिवर्तित
रहेगा - केवल पास किए जाने वाले कॉलबैक
बदल जाएंगे।
आइए उदाहरण के लिए हमारे फंक्शन की मदद से किसी ऐरे के प्रत्येक तत्व का वर्ग निकालें। इसके लिए हम संबंधित कॉलबैक को पैरामीटर के रूप में पास करेंगे:
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 2;
});
console.log(result);
अब ऐरे के तत्वों का घन निकालें। इसके लिए पैरामीटर के रूप में हम एक अलग कॉलबैक पास करेंगे, जो यह ऑपरेशन करता है:
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 3;
});
console.log(result);
नंबरों वाला एक ऐरे दिया गया है। हमारे द्वारा बनाए गए
फंक्शन each की सहायता से प्रत्येक
तत्व को दोगुना बढ़ाएं।
स्ट्रिंग्स वाला एक ऐरे दिया गया है। हमारे द्वारा बनाए गए
फंक्शन each की सहायता से प्रत्येक स्ट्रिंग के
कैरेक्टर को उल्टे क्रम में पलटें।
स्ट्रिंग्स वाला एक ऐरे दिया गया है। हमारे द्वारा बनाए गए
फंक्शन each की सहायता से प्रत्येक स्ट्रिंग का
पहला कैरेक्टर कैपिटल बनाएं।