JavaScript ने किसी विशेष कार्य को पूरा करने के लिए कई बिल्ट-इन फंक्शन्स प्रदान किए हैं। लेकिन यदि हम उन बिल्ट-इन फंक्शन्स के साथ सामान्य रूप से किसी प्रोग्राम को हल करने का प्रयास करते हैं, तो कोड संक्षिप्त नहीं हो सकता। JavaScript ने कुछ इनबिल्ट हायर-ऑर्डर फंक्शन्स भी प्रदान किए हैं। ये हायर-ऑर्डर फंक्शन्स कोड की लंबाई कम करते हैं, पठनीयता बढ़ाते हैं और पहुंच को सरल बनाते हैं। कुछ हायर-ऑर्डर फंक्शन्स हैं maps, filters और reduce। आइए filter हायर-ऑर्डर फंक्शन पर चर्चा करें।
उदाहरण
जब कोई हायर-ऑर्डर फंक्शन्स नहीं होते हैं तो प्रोग्राम कोड कुल मिलाकर अधिक चरण ले सकता है। निम्न उदाहरण में, एक नया ऐरे लिया गया है, भले ही प्रदान किया गया ऐरे कार्य पूरा करने के लिए पर्याप्त है। एक for-loop, जो हायर-ऑर्डर फंक्शन्स के मामले में अनावश्यक है, ऐरे के माध्यम से लूप करने के लिए लिया गया है।
<html> <body> <script> const name = []; var persons = [ { name: 'Frodobaggins'}, { name: 'aragorn'}, { name: 'gandalf'}, { name: 'pippin'}, { name: 'nazgul'}, ]; for(let i = 0; i < persons.length; i++) { if(persons[i].name.length > 6) { name.push(persons[i]); } } document.write(JSON.stringify(name)); </script> </body> </html>
आउटपुट
[{"name":"Frodobaggins"},{"name":"aragorn"},{"name":"gandalf"}]
उदाहरण
निम्न उदाहरण में, एक हायर-ऑर्डर फंक्शन filter का उपयोग किया गया है। उपरोक्त उदाहरण की तुलना में, निम्न उदाहरण ने कोड की कम लाइन्स ली हैं। यहां कोई नया ऐरे नहीं लिया गया है और न ही for-loop का उपयोग किया गया है।
<html> <body> <script> const persons = [ { name: 'Frodobaggins'}, { name: 'aragorn'}, { name: 'gandalf'}, { name: 'pippin'}, { name: 'nazgul'}, ]; const name = persons.filter(person => person.name.length > 7); document.write(JSON.stringify(name)); </script> </body> </html>
आउटपुट
[{"name":"Frodobaggins"}]