जावास्क्रिप्ट ऑब्जेक्ट गुणों के माध्यम से लूपिंग

जावास्क्रिप्ट ऑब्जेक्ट गुणों के माध्यम से लूपिंग
JavaScript

जावास्क्रिप्ट ऑब्जेक्ट पुनरावृत्ति की खोज

जावास्क्रिप्ट ऑब्जेक्ट के गुणों के माध्यम से लूपिंग एक सामान्य कार्य है जिसका डेवलपर्स को सामना करना पड़ता है। चाहे आपको कुंजियों, मानों या दोनों तक पहुंचने की आवश्यकता हो, यह समझना महत्वपूर्ण है कि ऑब्जेक्ट गुणों को प्रभावी ढंग से कैसे गिना जाए।

इस आलेख में, हम किसी ऑब्जेक्ट के तत्वों को पुनरावृत्त करने के विभिन्न तरीकों का पता लगाएंगे। अंत तक, आप ऑब्जेक्ट गणना को आसानी से संभालने के ज्ञान से लैस होंगे, यह सुनिश्चित करते हुए कि आपका जावास्क्रिप्ट कोड कुशल और पठनीय दोनों है।

आज्ञा विवरण
for...in किसी ऑब्जेक्ट के गुणों के माध्यम से लूप करता है, सभी गणना योग्य गुणों पर पुनरावृत्ति करता है।
hasOwnProperty() जाँचता है कि क्या ऑब्जेक्ट में प्रत्यक्ष संपत्ति के रूप में निर्दिष्ट संपत्ति है, प्रोटोटाइप श्रृंखला के माध्यम से विरासत में नहीं मिली है।
Object.entries() किसी दिए गए ऑब्जेक्ट की अपनी गणना योग्य संपत्ति [कुंजी, मान] जोड़े की एक सरणी लौटाता है।
Object.keys() किसी दिए गए ऑब्जेक्ट की अपनी गणना योग्य संपत्ति नामों की एक सरणी लौटाता है।
Object.values() किसी दिए गए ऑब्जेक्ट की अपनी गणना योग्य संपत्ति मानों की एक सरणी लौटाता है।
forEach() प्रत्येक सरणी तत्व के लिए एक बार दिए गए फ़ंक्शन को निष्पादित करता है।

जावास्क्रिप्ट ऑब्जेक्ट इटरेशन तकनीकों को समझना

for...in लूप एक मौलिक जावास्क्रिप्ट निर्माण है जिसका उपयोग किसी ऑब्जेक्ट के असंख्य गुणों को पुनरावृत्त करने के लिए किया जाता है। उदाहरण स्क्रिप्ट में, for...in ऑब्जेक्ट की प्रत्येक संपत्ति के माध्यम से लूप करने के लिए उपयोग किया जाता है p. लूप के भीतर, hasOwnProperty() यह सुनिश्चित करने के लिए उपयोग किया जाता है कि संपत्ति वस्तु की प्रत्यक्ष संपत्ति है और इसकी प्रोटोटाइप श्रृंखला से विरासत में नहीं मिली है। जब वस्तु को गुण विरासत में मिलते हैं तो अनपेक्षित परिणामों से बचने के लिए यह महत्वपूर्ण है। फिर लूप प्रत्येक प्रॉपर्टी की कुंजी और मान को लॉग करता है console.log, वस्तु के गुणों को प्रभावी ढंग से गिनना।

प्रदर्शित की गई एक अन्य विधि का उपयोग किया जा रहा है Object.entries(), जो ऑब्जेक्ट की अपनी गणना योग्य संपत्ति [कुंजी, मान] जोड़े की एक सरणी लौटाता है। फिर इस सारणी का उपयोग करके पुनरावृत्त किया जाता है forEach(), एक सुविधाजनक सरणी विधि जो प्रत्येक सरणी तत्व के लिए एक बार दिए गए फ़ंक्शन को निष्पादित करती है। यह विधि प्रत्येक पुनरावृत्ति में कुंजी और मान दोनों तक सीधे पहुंच कर कोड को सरल बनाती है, जिससे गणना प्रक्रिया सरल और पठनीय हो जाती है। Object.keys() विधि समान रूप से काम करती है लेकिन केवल कुंजियाँ लौटाती है, जिनका उपयोग तब संबंधित मानों तक पहुँचने के लिए किया जाता है forEach() कुंडली।

इसके अलावा, Object.values() एक अन्य उपयोगी विधि है जो ऑब्जेक्ट के मानों की एक सरणी लौटाती है। इस सरणी पर पुनरावृति करके forEach(), हम प्रत्येक मान तक सीधे पहुंच और लॉग इन कर सकते हैं। ये विधियां-for...in, Object.entries(), Object.keys(), और Object.values()-जावास्क्रिप्ट में वस्तुओं को संभालने के लिए शक्तिशाली उपकरण हैं। वे विभिन्न आवश्यकताओं और प्राथमिकताओं को पूरा करते हुए, ऑब्जेक्ट गुणों तक आपकी पहुंच और हेरफेर में लचीलापन प्रदान करते हैं। प्रत्येक विधि के अपने फायदे हैं, और उन्हें समझने से डेवलपर्स को अपने विशिष्ट उपयोग के मामले के लिए सबसे उपयुक्त एक चुनने की अनुमति मिलती है, जिससे कुशल और प्रभावी कोड निष्पादन सुनिश्चित होता है।

लूप में for... का उपयोग करके ऑब्जेक्ट गुणों पर पुनरावृत्ति करना

जावास्क्रिप्ट - लूप में... के लिए

var p = {"p1":"value1","p2":"value2","p3":"value3"};
for (var key in p) {
  if (p.hasOwnProperty(key)) {
    console.log(key + " -> " + p[key]);
  }
}
// Output:
// p1 -> value1
// p2 -> value2
// p3 -> value3

object.entries() का उपयोग करके ऑब्जेक्ट कुंजियों और मानों के माध्यम से लूपिंग

जावास्क्रिप्ट - ऑब्जेक्ट.एंट्रीज़()

var p = {"p1":"value1","p2":"value2","p3":"value3"};
Object.entries(p).forEach(([key, value]) => {
  console.log(key + " -> " + value);
});
// Output:
// p1 -> value1
// p2 -> value2
// p3 -> value3

ऑब्जेक्ट.कीज़ का उपयोग करके ऑब्जेक्ट गुणों की गणना करना()

जावास्क्रिप्ट - ऑब्जेक्ट.कीज़()

var p = {"p1":"value1","p2":"value2","p3":"value3"};
Object.keys(p).forEach(key => {
  console.log(key + " -> " + p[key]);
});
// Output:
// p1 -> value1
// p2 -> value2
// p3 -> value3

object.values() का उपयोग करके वस्तु मानों के माध्यम से पुनरावृत्ति करना

जावास्क्रिप्ट - ऑब्जेक्ट.वैल्यू()

var p = {"p1":"value1","p2":"value2","p3":"value3"};
Object.values(p).forEach(value => {
  console.log(value);
});
// Output:
// value1
// value2
// value3

जावास्क्रिप्ट ऑब्जेक्ट इटरेशन में गहराई से गोता लगाना

जावास्क्रिप्ट में ऑब्जेक्ट पुनरावृत्ति को संभालने का एक और शक्तिशाली तरीका का उपयोग है Map वस्तु। नियमित वस्तुओं के विपरीत, Map ऑब्जेक्ट आपको कुंजी-मान जोड़े को संग्रहीत करने की अनुमति देते हैं जहां कुंजियाँ किसी भी डेटा प्रकार की हो सकती हैं। यह लचीलापन उन परिदृश्यों में विशेष रूप से उपयोगी हो सकता है जहां आपको जटिल कुंजियों, जैसे ऑब्जेक्ट या फ़ंक्शन, को मानों के साथ जोड़ने की आवश्यकता होती है। आप आसानी से एक पर पुनरावृति कर सकते हैं Map जैसे इसके अंतर्निहित तरीकों का उपयोग करना Map.prototype.forEach(), Map.prototype.keys(), और Map.prototype.values(), एक सुसंगत और पूर्वानुमानित पुनरावृत्ति क्रम प्रदान करता है, जो सम्मिलन क्रम है।

निम्न के अलावा Map, जावास्क्रिप्ट भी ऑफर करता है WeakMap, जो समान है लेकिन कमजोर रूप से संदर्भित कुंजियों के साथ, जिसका अर्थ है कि यदि ऑब्जेक्ट का कोई अन्य संदर्भ नहीं है तो वे कचरा संग्रहण को नहीं रोकते हैं। यह कुछ अनुप्रयोगों में मेमोरी को अधिक कुशलता से प्रबंधित करने में मदद कर सकता है। दोनों Map और WeakMap कुंजी-मूल्य जोड़े के संग्रह के प्रबंधन के लिए तरीकों का एक मजबूत सेट प्रदान करें। हालांकि वे सादे वस्तुओं के लिए प्रत्यक्ष प्रतिस्थापन नहीं हैं, वे लचीलेपन और मेमोरी प्रबंधन के मामले में अद्वितीय लाभ प्रदान करते हैं जिनका लाभ अधिक जटिल डेटा संरचनाओं और एल्गोरिदम में उठाया जा सकता है।

जावास्क्रिप्ट ऑब्जेक्ट पुनरावृत्ति के बारे में सामान्य प्रश्न

  1. मैं जावास्क्रिप्ट में किसी ऑब्जेक्ट के गुणों पर पुनरावृति कैसे कर सकता हूं?
  2. आप उपयोग कर सकते हैं for...in, Object.keys(), Object.values(), या Object.entries() किसी वस्तु के गुणों पर पुनरावृति करना।
  3. के बीच क्या अंतर है for...in और Object.keys()?
  4. for...in प्रोटोटाइप श्रृंखला के माध्यम से विरासत में मिली संपत्तियों सहित सभी असंख्य गुणों को दोहराता है Object.keys() केवल ऑब्जेक्ट की अपनी गणना योग्य गुण लौटाता है।
  5. कैसे हुआ Object.entries() काम?
  6. Object.entries() ऑब्जेक्ट की अपनी गणना योग्य संपत्ति [कुंजी, मान] जोड़े की एक सरणी लौटाता है, जिसे एक के साथ पुनरावृत्त किया जा सकता है forEach कुंडली।
  7. क्या मैं उपयोग कर सकता हूँ forEach सीधे किसी वस्तु पर?
  8. नहीं, forEach सरणियों की एक विधि है, लेकिन आप इसका उपयोग इसके द्वारा लौटाए गए सरणियों पर कर सकते हैं Object.keys(), Object.values(), या Object.entries().
  9. क्या हैं Map और WeakMap?
  10. Map किसी भी प्रकार की कुंजियों की अनुमति देता है और प्रविष्टि क्रम बनाए रखता है। WeakMap ऐसी कुंजियाँ हैं जो कमज़ोर रूप से संदर्भित हैं और जिनसे कचरा एकत्र किया जा सकता है।
  11. कैसे करें Map.prototype.forEach() और Array.prototype.forEach() अलग होना?
  12. वे समान रूप से काम करते हैं, लेकिन Map.prototype.forEach() मानचित्र प्रविष्टियों (कुंजी-मूल्य जोड़े) पर पुनरावृत्त होता है, जबकि Array.prototype.forEach() सरणी तत्वों पर पुनरावृत्त होता है।
  13. क्यों उपयोग करें? Object.values()?
  14. उपयोग Object.values() जब आपको किसी ऑब्जेक्ट के गुणों के मानों को सीधे पुनरावृत्त करने की आवश्यकता होती है।

जावास्क्रिप्ट ऑब्जेक्ट पुनरावृत्ति पर अंतिम विचार

प्रभावी प्रोग्रामिंग के लिए जावास्क्रिप्ट में ऑब्जेक्ट पुनरावृत्ति में महारत हासिल करना आवश्यक है। जैसे तरीकों का उपयोग करके for...in, Object.keys(), Object.values(), और Object.entries(), डेवलपर्स ऑब्जेक्ट गुणों तक कुशलतापूर्वक पहुंच और हेरफेर कर सकते हैं। ये तकनीकें लचीलापन प्रदान करती हैं, यह सुनिश्चित करते हुए कि आपका कोड साफ़, कुशल और समझने में आसान बना रहे। चाहे आप सरल या जटिल वस्तुओं से निपट रहे हों, इन तरीकों को जानने से आपके कोडिंग कौशल में वृद्धि होगी और आपके जावास्क्रिप्ट अनुप्रयोगों को अनुकूलित किया जाएगा।