जावास्क्रिप्ट भी एक कार्यात्मक प्रोग्रामिंग भाषा है। आपके पास यहां एक «उच्च आदेश फ़ंक्शन» है, एक फ़ंक्शन जो पैरामीटर के रूप में कार्य करता है। उच्च आदेश फ़ंक्शन तुल्यकालिक होते हैं (लेकिन नीचे नोट देखें)।
सूत्रों का कहना है:
map()
एक उच्च आदेश समारोह का एक विशिष्ट उदाहरण है। यह एक फ़ंक्शन लेता है और इसे किसी सरणी के सभी तत्वों पर लागू करता है। परिभाषा बहुत «कार्यात्मक» लगता है। यह कार्य नोड द्वारा भी प्रदान नहीं किया जाता है। इसे MDN Array.prototype.map() द्वारा दस्तावेज किया गया है और ECMAScript 5.1 द्वारा निर्दिष्ट किया गया है।
अपने प्रश्न का उत्तर देने के लिए: हाँ, doSomething(nodeIDs)
के बाद सभी तत्व लागू किए गए हैं।
नोट: उच्च आदेश फ़ंक्शन कार्यात्मक प्रोग्रामिंग की अवधारणा है। जावास्क्रिप्ट कार्यात्मक है, लेकिन ब्राउज़र या सर्वर के अंदर कोड निष्पादित करने की व्यावहारिकता में भी गहराई से बैठता है। मैं कहूंगा कि उदाहरण के लिए
setTimeout()
उच्च ऑर्डर फ़ंक्शन नहीं है, भले ही यह पैरामीटर के रूप में कार्य करता है क्योंकि
setTimeout()
वास्तव में पूरी तरह कार्यात्मक नहीं है क्योंकि यह समय का उपयोग करता है। शुद्ध कार्यक्षमता कालातीत है। उदाहरण के लिए
map()
का परिणाम समय पर निर्भर नहीं है। और यही वह सवाल है जो वास्तव में है। अगर कुछ समय पर निर्भर नहीं करता है तो आप इसे समकालिक रूप से निष्पादित करते हैं। समस्या सुलझ गयी।
जावास्क्रिप्ट में उच्च आदेश फ़ंक्शन की परिभाषा को चुनौती देने के लिए साइमन के लिए धन्यवाद।
यहां $ क्या है? नक्शा सूची के प्रत्येक सदस्य पर लागू करने के लिए कॉलबैक फ़ंक्शन लेता है, पूर्ण पुनरावृत्ति पूर्ण होने पर कॉलबैक नहीं होता है। – chovy
धन्यवाद chovy।$ के लिए, मैं सिर्फ नोड-jquery मॉड्यूल के साथ प्रयोग कर रहा था और इसे संपादित करने के लिए परेशान नहीं किया था। – bonchef