जावास्क्रिप्ट पर एक परिचय पाठ्यक्रम लेते समय और ऐरे के सभी विभिन्न तरीकों के बारे में सीखते हुए। मैं कम करने की विधि की वास्तविक शक्ति को ठीक से समझ नहीं पाया था और दूसरी बार इस पर वापस जाने के बाद ही अब मुझे एहसास हो रहा है कि यह विधि वास्तव में कितनी उपयोगी है। मुझे आशा है कि लेख कुछ लोगों के लिए यह स्पष्ट कर देगा कि यह विधि कैसे काम करती है और इसका उपयोग कब करना है।
Array.prototype.reduce(callbackFunction)
Array.prototype.reduce(कॉलबैकफंक्शन, इनिशियलवैल्यू)
कम() विधि कॉलबैक फ़ंक्शन का उपयोग करके सरणी के प्रत्येक तत्व को संसाधित करती है, परिणाम को एक मान में जमा करती है। यदि प्रारंभिक मान प्रदान किया जाता है, तो इसका उपयोग प्रारंभिक बिंदु के रूप में किया जाता है; अन्यथा, पहले सरणी तत्व का उपयोग किया जाता है, और पुनरावृत्ति दूसरे तत्व से शुरू होती है।
कॉलबैकफंक्शन(संचायक, करंटवैल्यू, करंटइंडेक्स, ऐरे){}
पिछले पुनरावृत्ति से संचित परिणाम या यदि प्रदान किया गया हो तो प्रारंभिक मूल्य।
संसाधित किए जा रहे वर्तमान सरणी तत्व का मान।
वर्तमान तत्व का सूचकांक, यदि प्रारंभिक मान प्रदान किया गया है तो 0 से शुरू होता है, अन्यथा 1.
वह सरणी जिस पर कम() विधि निष्पादित की जा रही है।
प्रारंभिक मान के बिना कम विधि का उपयोग करते समय, कॉलबैक फ़ंक्शन सरणी का पहला तत्व लेगा और इसे संचायक के रूप में प्रारंभ करेगा और फिर शेष सरणी के माध्यम से पुनरावृत्त करेगा।
कम विधि का उपयोग करते समय आपके सामने सबसे आम उदाहरण एक सरणी का योग है।
const ages = [23, 15, 45, 13, 66, 54, 38]; let sumOfAges = ages.reduce(function(sumOfAges, currentAge){ sumOfAges = sumOfAges currentAge; return sumOfAges; }); // 254
हालाँकि हाँ, यह वही है जिसके लिए कम करने की विधि अच्छी है और इसमें अच्छा है, यह और भी बहुत कुछ कर सकता है।
const ages = [23, 15, 45, 13, 66, 54, 38]; let oldestPerson = ages.reduce(function(maxAge, currentAge){ if(currentAge>maxAge){ maxAge = currentAge; } return maxAge; }); // 66
यहां हम सरणी में मिलने वाली उच्चतम आयु को बचाने के लिए कम करने की विधि का उपयोग कर रहे हैं और पूरे सरणी के माध्यम से पुनरावृत्त होने पर उस मान को वापस कर रहे हैं।
const store = ['apple', 'pear', 'apple', 'orange', 'apple', 'pear']; let itemCatalogue = store.reduce(function(uniqueStoreItems, currentItem){ if(!uniqueStoreItems.includes(currentItem)){ uniqueStoreItems.push(currentItem); } return uniqueStoreItems; }, []); // ['apple', 'pear', 'orange']
महत्वपूर्ण यहां ध्यान दें कि कम करने की विधि में प्रारंभिक मूल्य के लिए हम एक खाली सरणी की आपूर्ति कर रहे हैं, []। इसका मतलब यह है कि संचायक अब एक सरणी है, और हमारा कॉल बैक फ़ंक्शन केवल उन आइटम्स को पुश करता है जो पहले से ही उस सरणी में नहीं हैं। परिणामस्वरूप हमने डुप्लिकेट हटा दिए हैं।
const store = ['apple', 'pear', 'apple', 'orange', 'apple', 'pear']; let itemCount = store.reduce(function(count, currentItem){ count[currentItem] = (count[currentItem] || 0) 1; return count; }, {}); // { apple: 3, pear: 2, orange: 1 }
महत्वपूर्ण यहां ध्यान देने योग्य बात यह है कि प्रारंभिक मान एक खाली वस्तु है। जैसे ही हम स्टोर में आइटम देखते हैं, हम आइटम को गिनती के साथ भर देते हैं।
सबसे पहले अगर आप यहां तक पहुंच गए हैं तो पढ़ने के लिए धन्यवाद! इस लेख को लिखने का मेरा मुख्य लक्ष्य कम करने की विधि के बारे में अपनी समझ को मजबूत करना था और मुझे आशा है कि शायद आपने यहां भी कुछ नया सीखा है! कम करने की विधि में वास्तव में बहुत अच्छे अनुप्रयोग हैं और उपयोग करने में यह वास्तव में साफ-सुथरा है। क्या आपके पास विधि के साथ कोई अन्य उपयोग के मामले या मज़ेदार तरकीबें हैं? मुझे जानने में खुशी होगी!
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3