एक डेवलपर के लिए न केवल कार्यों को पूरा करना आवश्यक है, बल्कि कार्यों को अधिक कुशल तरीके से करना भी आवश्यक है। आज जावास्क्रिप्ट में कई पुस्तकालय उपलब्ध हैं जो डेवलपर्स के लिए चर के साथ काम करना आसान बनाते हैं। हम इस ट्यूटोरियल में लोदश पुस्तकालय के सबसे सामान्य कार्यों का उपयोग करना सीखेंगे।
यदि आपने अभी तक लोदश की कोशिश नहीं की है, तो अब समय है। लोडाश एक समकालीन जावास्क्रिप्ट उपयोगिता पैकेज है जो सरणियों, पूर्णांकों, वस्तुओं, ग्रंथों और अन्य डेटा प्रकारों के साथ काम करना आसान बनाता है।
यह विभिन्न प्रकार की वस्तुओं से निपटने में आपकी सहायता करेगा और सामान्य तरीकों को कोड करने की आवश्यकता को समाप्त करके आपका समय बचाएगा। आपका कोड कम लाइनों के साथ साफ होगा और सभी ब्राउज़रों में काम करेगा। यदि आप पहले से इसका उपयोग नहीं कर रहे हैं, तो आपको इस पर ध्यान से विचार करना चाहिए।
लोडाश को न अपनाना हमारे जावास्क्रिप्ट कोडबेस के लिए बहुत बड़ा नुकसान है। यह हमारे काम पर आने वाली आम चुनौतियों का एक बग-मुक्त और सुरुचिपूर्ण समाधान है, और इसका उपयोग करने से हमारा कोड केवल अधिक पठनीय और प्रबंधनीय हो जाएगा।
आइए कुछ अधिक लोकप्रिय (या नहीं!) Lodash कार्यों में तल्लीन करें और पता करें कि यह पुस्तकालय कितना उपयोगी और सुंदर है।
1. _.सॉर्टेडयूनिक
सभी डुप्लिकेट किए गए मान इसके साथ वापस नहीं किए जाएंगे। क्योंकि यह केवल क्रमबद्ध सरणियों के लिए है, इसका उपयोग मुख्य रूप से गति कारणों से किया जाता है। यह केवल तभी उपयोगी होता है जब आप एक बड़ी सरणी के साथ काम कर रहे हों। यदि आप गति में सुधार करना चाहते हैं, तो अपने सरणी को क्रमबद्ध करें और उन विधियों का उपयोग करें जो क्रमबद्ध सरणियों के साथ बेहतर ढंग से संचालित होती हैं।
लोडाश के कई अन्य कार्य हैं जो इसके समान हैं। आप .sortedIndex, .sortedIndexBy, .sortedIndexOf, .sortedLastIndex, .sortedLastIndexBy, .sortedLastIndexOf, .sortedUniq, .sortedUniqBy, .sortedUniqBy, .sortedUniqBy, .sortedUniqBy, .sortedUniqBy, .sortedUniqBy, को देख सकते हैं।
2. _.कम करें
_.reduce एक फिल्टर फंक्शन के समान है। फर्क सिर्फ इतना है कि आपके पास लौटाई गई वस्तु के रूप को चुनने का विकल्प है। यह सामान्य है, यदि आप समझ नहीं पा रहे हैं कि मैं क्या कह रहा हूँ; इसके लिए एक उदाहरण है।
संक्षेप में, हम एक नई वस्तु लौटाते हैं जिसमें आयु के आधार पर वर्गीकृत उपयोगकर्ता होते हैं, लेकिन केवल 18 से 59 वर्ष की आयु के लोगों के लिए। यह लोदाश सहायक फ़ंक्शन सबसे अधिक उपयोग में से एक है। यह ES6 में भी शामिल है। मैं दो सामान्य गलतियों को भी इंगित करना चाहता हूं: फ़ंक्शन के समापन पर परिणाम वापस करना याद रखें, और परिणाम के लिए डिफ़ॉल्ट मान को तीसरे पैरामीटर (यहां) के रूप में आपूर्ति करें।
3. _.get और ._set
इसके लिए, मैं आपको लगभग समान कार्य करने वाले दो कार्यों को दिखाकर कुछ चकमा दूंगा। _.get किसी ऑब्जेक्ट से एक संपत्ति मान देता है, और _.set, ठीक है, आपने अनुमान लगाया है, एक मूल्य के साथ एक संपत्ति सेट करें। कुछ भी अनूठा नहीं है, सिवाय इसके कि आप किसी संपत्ति को उसके रास्ते से एक्सेस कर सकते हैं।
आइए एक उदाहरण देखें।
यदि _.set को कॉल करते समय पथ मौजूद नहीं है, तो यह उत्पन्न हो जाएगा। कोई और अधिक "अपरिभाषित की संपत्ति 'आइटम' सेट नहीं कर सकता" त्रुटियां नहीं होंगी। यदि पथ मौजूद नहीं है, तो _.get त्रुटि के बजाय अपरिभाषित लौटेगा। यदि पथ अपरिभाषित हो जाता है, तो आप एक डिफ़ॉल्ट मान (तीसरा पैरामीटर) भी प्रदान कर सकते हैं।
4. _.ढूंढें
किसी एक वस्तु को खोजने के लिए एक सरणी के माध्यम से लूप करने के बजाय, हम _.find का उपयोग कर सकते हैं। यह अच्छा है, लेकिन केवल यही एक चीज नहीं है जो _.find कर सकता है। कोड की एक पंक्ति के साथ, आप कई गुणों का उपयोग करके किसी वस्तु की खोज भी कर सकते हैं। इसकी जांच - पड़ताल करें!
5. _.कुंजीबाय
मेरे पसंदीदा में से एक है _.keyBy। एक निश्चित विशेषता वाली वस्तु को प्राप्त करने का प्रयास करते समय यह काफी उपयोगी होता है। मान लें कि हमारे पास 100 ब्लॉग प्रविष्टियां हैं और "34abc" आईडी के साथ एक को हथियाना चाहते हैं। हम इसे कैसे करने जा रहे हैं? चलिए देखते हैं क्या होता है! यदि कोई सर्वर इसे एक सरणी के रूप में प्रदान करता है तो यह विधि आपको ऑब्जेक्ट संग्रह की व्यवस्था करने में मदद कर सकती है। एक फ़ंक्शन को दूसरे तर्क के रूप में भी इस्तेमाल किया जा सकता है।
6. _.प्रत्येक के लिए
यह विधि एक-एक करके वस्तुओं की एक सरणी पर पुनरावृति करेगी, जिससे आप जो भी तर्क चाहते हैं वह कर सकते हैं। इस पहले उदाहरण में, मैं उपयोगकर्ता वस्तुओं की एक सूची पर लूप करूंगा, उनके पहले और अंतिम नामों को मिलाकर एक नई संपत्ति बनाऊंगा जिसे fullName कहा जाता है।
इनमें से प्रत्येक दो मापदंडों को स्वीकार करता है। जिस सरणी पर हम लूप कर रहे हैं वह पहला पैरामीटर है। दूसरा तर्क एक पुनरावृत्त कार्य है, पहला पैरामीटर व्यक्तिगत आइटम संदर्भ है और दूसरा पुनरावृत्ति का वर्तमान सूचकांक है।
7. _.नक्शा
मानचित्र, forEach की तरह, मानों की एक सरणी में पुनरावृति करता है। दूसरी ओर, मानचित्र फ़ंक्शन, पुनरावृति फ़ंक्शन द्वारा प्रदान किए गए मानों की एक नई सरणी देता है। हम उपयोगकर्ताओं के उसी संग्रह का उपयोग कर रहे हैं जैसे हमारे यहां प्रत्येक उदाहरण के लिए। हम एक नया चर उत्पन्न करने के लिए _.map का उपयोग कर सकते हैं जिसमें सभी उपयोगकर्ताओं के पूर्ण नामों की एक चपटी सरणी है।
8. _.अंतर
अंतर फ़ंक्शन मानों की एक नई सरणी उत्पन्न करेगा जो पहले और दूसरे सरणी के बीच भिन्न होता है। यह ध्यान रखना महत्वपूर्ण है कि तर्कों के स्थान परिणामों को प्रभावित करते हैं।
9. _.प्राप्त करें
_.get () फ़ंक्शन किसी ऑब्जेक्ट के भीतर एक तत्व का पता लगाने में हमारी सहायता कर सकता है। यदि आपूर्ति किए गए पथ पर कोई तत्व नहीं मिलता है तो हम _.get() फ़ंक्शन के लिए एक डिफ़ॉल्ट मान सेट कर सकते हैं। _.get() फ़ंक्शन तीन पैरामीटर लेता है, जिनमें से पहला वह ऑब्जेक्ट है जिससे हम एक तत्व प्राप्त करना चाहते हैं। मार्ग दूसरा है। तीसरा मान वह डिफ़ॉल्ट मान है जिसे हम वापस करना चाहते हैं यदि कोई तत्व स्थित नहीं हो सकता है।
10. _.ढूंढें
_find() फ़ंक्शन _.get() विधि के समान प्रतीत हो सकता है। _.find() फ़ंक्शन, _.get() विधि की तरह, तीन पैरामीटर स्वीकार करता है। हालांकि, _.get() विधि के विपरीत, पहला तर्क एक सरणी या वस्तु हो सकता है। दूसरा तर्क उस फ़ंक्शन को निर्दिष्ट करता है जिसे प्रत्येक पुनरावृत्ति पर बुलाया जाएगा। तीसरा इनपुट संग्रह का आरंभिक सूचकांक है। क्योंकि _.find() फ़ंक्शन संग्रह में प्रत्येक तत्व पर पुनरावृति करता है।
11. _.ग्रुपबाय
किसी फ़ंक्शन (या यादृच्छिक रूप से चयनित संपत्ति नाम) के परिणाम से नामित ऑब्जेक्ट बनाएं, जिसमें प्रत्येक मान एक ही कुंजी के साथ ऑब्जेक्ट्स की सरणी हो।
12. _.सेट
विधि _.set () विधि _.get () का विलोम है। यह किसी दिए गए पथ पर किसी तत्व के मान को बदल देगा। ऑब्जेक्ट या सरणी पहला पैरामीटर है, पथ दूसरा है, और जो मान आप सेट करना चाहते हैं वह तीसरा है।
13. _.मर्ज
यह ऑब्जेक्ट.असाइन के समान कार्य करता है, सिवाय इसके कि यह गहरी वस्तुओं को बदलने के बजाय उन्हें अद्यतन करने के लिए अंतर्निहित संरचना में गहराई से रिकर्स करता है।
14. _deburr
यह एक अपेक्षाकृत सीधा उदाहरण है। सभी "संयोजन विशेषक चिह्नों" को हटा दिया जाता है। इस प्रकार "ई" "ई" बन जाता है। जब अंतर्राष्ट्रीयकरण और स्थानीयकरण होता है, तो खोज कार्यों के लिए टेक्स्ट को डिबग करना एक अच्छा अभ्यास है।
15. _.बहस
यह सबसे प्रभावी लोदाश रणनीतियों में से एक है। यह समझना भी मुश्किल हो सकता है कि यह क्या करता है और आपको इसका उपयोग कब करना चाहिए। _.debounce() विधि एक फ़ंक्शन देता है। _.debounce() मेथड का फंक्शन इनवोकेशन में देरी करेगा जब तक कि फंक्शन के आखिरी बार इनवोक किए जाने के बाद से मिलीसेकंड की एक निर्दिष्ट संख्या बीत जाती है।
निष्कर्ष
लोडाश जावास्क्रिप्ट भाषा का एक शक्तिशाली विस्तार है। न्यूनतम प्रयास के साथ, कोई संक्षिप्त और कुशल कोड बना सकता है। लोडाश भी पूरी तरह से मॉड्यूलर है। हालांकि इसकी कुछ कार्यक्षमताओं को अंततः बहिष्कृत किया जा सकता है, मेरा मानना है कि यह अभी भी डेवलपर्स को कई लाभ प्रदान करेगा जबकि जेएस भाषा के विकास को भी चलाएगा।
मुझे आशा है कि ये कुछ लोदाश क्षमताएं आपको यह देखने में मदद करेंगी कि सरणियों, वस्तुओं और संग्रहों के साथ काम करते समय लोडाश कितना शक्तिशाली हो सकता है। आप जा सकते हैं दस्तावेज़ीकरण अन्य विकल्पों के ढेरों का पता लगाने के लिए जो इसे पेश करना है।
एक जवाब लिखें