आधुनिक वेब विकास में, सुचारू और उत्तरदायी अनुप्रयोगों को सुनिश्चित करने के लिए डेटा हेरफेर महत्वपूर्ण है। चाहे आप उत्पादों को फ़िल्टर कर रहे हों, विशिष्ट आइटम ढूंढ रहे हों, या प्रदर्शन के लिए डेटा को परिवर्तित कर रहे हों, प्रभावी डेटा हेरफेर सुनिश्चित करता है कि आपका एप्लिकेशन सुचारू रूप से चलता है और शानदार उपयोगकर्ता अनुभव प्रदान करता है।
जावास्क्रिप्ट सामान्य कार्यों के लिए खोजने, मैप करने और फ़िल्टर करने जैसी कई अंतर्निहित विधियाँ प्रदान करता है। हालाँकि, बहुमुखी कम करने की विधि इन सभी कार्यों तथा और भी बहुत कुछ करने की अपनी क्षमता के लिए विशिष्ट है। कम करने के साथ, आप मान जमा कर सकते हैं, सरणियों को बदल सकते हैं, नेस्टेड संरचनाओं को समतल कर सकते हैं, और जटिल डेटा परिवर्तनों को संक्षिप्त रूप से बना सकते हैं।
हालांकि कम करना अन्य सरणी विधियों को दोहरा सकता है, यह हमेशा सरल कार्यों के लिए सबसे कुशल विकल्प नहीं हो सकता है। मानचित्र और फ़िल्टर जैसी विधियाँ विशिष्ट उद्देश्यों के लिए अनुकूलित हैं और सीधे संचालन के लिए तेज़ हो सकती हैं। हालाँकि, कम करने का उपयोग करने का तरीका समझने से आपको अपने कोड को बेहतर और समझने में आसान बनाने के कई तरीके खोजने में मदद मिल सकती है।
इस लेख में, हम कम करने की विधि पर गहराई से विचार करेंगे, विभिन्न उपयोग के मामलों का पता लगाएंगे, और इसकी क्षमता को अधिकतम करने के लिए सर्वोत्तम प्रथाओं पर चर्चा करेंगे।
लेख का अवलोकन
कम करने की विधि को समझना
जावास्क्रिप्ट सिंटेक्स को कम करता है
जावास्क्रिप्ट कम करने का उदाहरण
कम करने की विधि के विभिन्न उपयोग के मामले
जावास्क्रिप्ट मानचित्र, फ़िल्टर और खोज को कम के साथ प्रतिस्थापित करना
निष्कर्ष
जावास्क्रिप्ट कम करने की विधि एक संचायक और सरणी में प्रत्येक तत्व (बाएं से दाएं) के खिलाफ एक फ़ंक्शन लागू करती है ताकि इसे एकल मान तक कम किया जा सके। यह एकल मान स्ट्रिंग, संख्या, ऑब्जेक्ट या एक सरणी हो सकता है।
मूल रूप से, कम करने की विधि एक सरणी लेती है और एक फ़ंक्शन को बार-बार लागू करके इसे एक मान में संघनित करती है जो संचित परिणाम को वर्तमान सरणी तत्व के साथ जोड़ती है।
array.reduce(callback(accumulator, currentValue, index, array), initialValue);
पैरामीटर:
कॉलबैक: प्रत्येक तत्व पर निष्पादित होने वाला फ़ंक्शन, जो निम्नलिखित तर्क लेता है:
संचायक: संचित मूल्य पहले कॉलबैक के अंतिम आह्वान में लौटाया गया था, या प्रारंभिक मूल्य, यदि आपूर्ति की गई हो।
currentValue: वर्तमान तत्व को सरणी में संसाधित किया जा रहा है।
सूचकांक (वैकल्पिक): सरणी में संसाधित किए जा रहे वर्तमान तत्व का सूचकांक।
सरणी (वैकल्पिक): सरणी कम करने का आह्वान किया गया था।
initialValue: कॉलबैक की पहली कॉल के पहले तर्क के रूप में उपयोग करने के लिए एक मान। यदि कोई प्रारंभिक वैल्यू प्रदान नहीं किया गया है, तो सरणी में पहला तत्व (सरणी [0]) प्रारंभिक संचायक मान के रूप में उपयोग किया जाएगा, और कॉलबैक पहले तत्व पर निष्पादित नहीं किया जाएगा।
यहां एक बुनियादी उदाहरण दिया गया है कि जावास्क्रिप्ट रिड्यूस विधि का उपयोग कैसे किया जा सकता है
const numbers = [1, 2, 3, 4]; const sum = numbers.reduce((acc, curr) => acc curr, 0); console.log(sum); // Output: 10
इस उदाहरण में, कम करें सरणी में प्रत्येक संख्या को संचायक (एसीसी) में जोड़ता है। 0 के प्रारंभिक मान से प्रारंभ करके, यह निम्नानुसार प्रक्रिया करता है:
(0 1) -> 1
(1 2) -> 3
(3 3) -> 6
(6 4) -> 10
कम करने की विधि अत्यधिक बहुमुखी है और इसे कई प्रकार के परिदृश्यों में लागू किया जा सकता है। यहां स्पष्टीकरण और कोड स्निपेट के साथ कुछ सामान्य उपयोग के मामले दिए गए हैं।
मान लीजिए कि आपके पास वस्तुओं की एक श्रृंखला है और आप एक विशेष संपत्ति का सारांश निकालना चाहते हैं।
const products = [ { name: 'Laptop', price: 1000 }, { name: 'Phone', price: 500 }, { name: 'Tablet', price: 750 } ]; const totalPrice = products.reduce((acc, curr) => acc curr.price, 0); console.log(totalPrice); // Output: 2250
इस उदाहरण में, प्रत्येक उत्पाद ऑब्जेक्ट पर पुनरावृत्ति को कम करें, मूल्य संपत्ति को संचायक (एसीसी) में जोड़ें, जो 0 से शुरू होता है।
आप किसी सरणी को ऑब्जेक्ट में बदलने के लिए कम का उपयोग कर सकते हैं। यह तब काम आ सकता है जब आप किसी सरणी को उसकी संपत्ति का उपयोग करके समूहीकृत करना चाहते हैं
const items = [ { name: 'Apple', category: 'Fruit' }, { name: 'Carrot', category: 'Vegetable' }, { name: 'Banana', category: 'Fruit' } ]; const groupedItems = items.reduce((acc, curr) => { if (!acc[curr.category]) { acc[curr.category] = []; } acc[curr.category].push(curr.name); return acc; }, {}); console.log(groupedItems); // Output: { Fruit: ['Apple', 'Banana'], Vegetable: ['Carrot'] }
यह उदाहरण आइटमों को उनकी श्रेणी के आधार पर समूहित करता है। प्रत्येक आइटम के लिए, यह जाँचता है कि क्या श्रेणी संचायक (एसीसी) में पहले से मौजूद है। यदि नहीं, तो यह उस श्रेणी के लिए एक सरणी प्रारंभ करता है और फिर आइटम का नाम सरणी में जोड़ता है।
कम करने की विधि सरणी की एक सरणी को एक एकल सरणी में समतल कर सकती है जैसा कि नीचे दिखाया गया है
const nestedArrays = [[1, 2], [3, 4], [5, 6]]; const flatArray = nestedArrays.reduce((acc, curr) => acc.concat(curr), []); console.log(flatArray); // Output: [1, 2, 3, 4, 5, 6]
यहां, प्रत्येक नेस्टेड सरणी (curr) को संचायक (acc) में जोड़ता है, जो एक खाली सरणी के रूप में शुरू होता है।
किसी सरणी से डुप्लिकेट को हटाने के लिए कम करने की विधि का भी उपयोग किया जा सकता है
const numbers = [1, 2, 2, 3, 4, 4, 5]; const uniqueNumbers = numbers.reduce((acc, curr) => { if (!acc.includes(curr)) { acc.push(curr); } return acc; }, []); console.log(uniqueNumbers); // Output: [1, 2, 3, 4, 5]
कम करने की विधि अविश्वसनीय रूप से बहुमुखी है और मानचित्र, फ़िल्टर और खोज जैसी अन्य सरणी विधियों की कार्यक्षमता को दोहरा सकती है। हालांकि यह हमेशा सबसे अधिक प्रदर्शन करने वाला विकल्प नहीं हो सकता है, लेकिन यह समझना उपयोगी है कि इन परिदृश्यों में कम का उपयोग कैसे किया जा सकता है। यहां उदाहरण दिए गए हैं जो दर्शाते हैं कि कैसे कम करना इन तरीकों को प्रतिस्थापित कर सकता है।
मैप विधि मूल सरणी के प्रत्येक तत्व पर एक फ़ंक्शन लागू करके एक नई सरणी बनाती है। इसे कम करके दोहराया जा सकता है।
const numbers = [1, 2, 3, 4]; const doubled = numbers.reduce((acc, curr) => { acc.push(curr * 2); return acc; }, []); console.log(doubled); // Output: [2, 4, 6, 8]
इस उदाहरण में, प्रत्येक संख्या पर पुनरावृत्ति कम करें, इसे दोगुना करें, और परिणाम को संचायक सरणी (एसीसी) में धकेलें।
फ़िल्टर विधि उन तत्वों के साथ एक नई सरणी बनाती है जो किसी दिए गए फ़ंक्शन द्वारा कार्यान्वित परीक्षण पास करती है। इसे कम करके भी हासिल किया जा सकता है।
const numbers = [1, 2, 3, 4, 5, 6]; const evens = numbers.reduce((acc, curr) => { if (curr % 2 === 0) { acc.push(curr); } return acc; }, []); console.log(evens); // Output: [2, 4, 6]
यहां, यदि वर्तमान संख्या (वर्तमान) सम है तो चेक कम करें। यदि ऐसा है, तो संख्या संचायक सरणी (एसीसी) में जोड़ दी जाती है।
खोज विधि किसी सरणी में पहला तत्व लौटाती है जो दिए गए परीक्षण फ़ंक्शन को संतुष्ट करती है। इस उद्देश्य के लिए कम का भी उपयोग किया जा सकता है। किसी सरणी में पहली सम संख्या ढूँढ़ते समय यह काम आ सकता है
const numbers = [1, 3, 5, 6, 7, 8]; const firstEven = numbers.reduce((acc, curr) => { if (acc !== undefined) return acc; return curr % 2 === 0 ? curr : undefined; }, undefined); console.log(firstEven); // Output: 6
जावास्क्रिप्ट में कम करने की विधि एक बहुमुखी उपकरण है जो मानचित्र, फ़िल्टर और खोज की क्षमताओं को पार करते हुए, डेटा हेरफेर कार्यों की एक विस्तृत श्रृंखला को संभाल सकता है। हालांकि यह हमेशा सरल कार्यों के लिए सबसे कुशल नहीं हो सकता है, लेकिन कम करने में महारत हासिल करने से आपके कोड को अनुकूलित और सरल बनाने की नई संभावनाएं खुलती हैं। कम को समझना और प्रभावी ढंग से उपयोग करना जटिल डेटा परिवर्तनों को प्रबंधित करने की आपकी क्षमता को काफी बढ़ा सकता है, जिससे यह आपके जावास्क्रिप्ट टूलकिट का एक महत्वपूर्ण हिस्सा बन जाता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3