"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मैं जावास्क्रिप्ट में वस्तुओं की एक श्रृंखला से गुणों को कुशलतापूर्वक कैसे हटा सकता हूं?

मैं जावास्क्रिप्ट में वस्तुओं की एक श्रृंखला से गुणों को कुशलतापूर्वक कैसे हटा सकता हूं?

2024-11-16 को प्रकाशित
ब्राउज़ करें:286

How can I efficiently remove properties from an array of objects in JavaScript?

वस्तुओं की श्रृंखला से गुणों को कुशल तरीके से हटाना

एकाधिक वस्तुओं वाली सरणी के साथ काम करते समय, प्रत्येक वस्तु से विशिष्ट गुणों को हटाना आवश्यक है . जबकि लूप के लिए एक सीधा दृष्टिकोण पर्याप्त हो सकता है, ES6 सुविधाओं और प्रोटोटाइप हेरफेर का लाभ उठाने वाले वैकल्पिक तरीकों की खोज से अधिक कुशल कार्यान्वयन हो सकता है।

ES6 ऑब्जेक्ट डीकंस्ट्रक्शन

एक ऐसी तकनीक ऑब्जेक्ट डिस्ट्रक्चरिंग है, जिसे ES6 में पेश किया गया है। यह किसी ऑब्जेक्ट से विशिष्ट गुणों को निकालने और नए वेरिएबल्स को आगे असाइन करने में सक्षम बनाता है। अवांछित गुणों को हटाने के मामले में, यह दृष्टिकोण विशेष रूप से उपयोगी हो जाता है।

निम्न उदाहरण पर विचार करें:

const array = [
  { bad: "something", good: "something" },
  { bad: "something", good: "something" }
];

प्रत्येक ऑब्जेक्ट से "खराब" संपत्ति को हटाने के लिए, हम ES6 डिस्ट्रक्चरिंग का उपयोग करके निम्नलिखित कोड का उपयोग कर सकते हैं:

const newArray = array.map(({ dropAttr1, dropAttr2, ...keepAttrs }) => keepAttrs);

इसमें कोड:

  • मैप विधि को मूल सरणी में प्रत्येक ऑब्जेक्ट पर पुनरावृत्त करने के लिए नियोजित किया जाता है।
  • कॉलबैक फ़ंक्शन के भीतर, ऑब्जेक्ट डिस्ट्रक्चरिंग एलिप्सिस सिंटैक्स का उपयोग करके किया जाता है (...) उन सभी गुणों को कैप्चर करने के लिए जिन्हें नए ऑब्जेक्ट (keepAttrs) में संरक्षित किया जाना चाहिए।
  • dropAttr1 औरdropAttr2 वेरिएबल किसी अन्य के लिए प्लेसहोल्डर के रूप में काम करते हैं वे संपत्तियाँ जिन्हें आप बाहर करना चाहते हैं। फॉर लूप का उपयोग करने के ओवरहेड से बचा जाता है और सीधे आवश्यक मान निर्दिष्ट करता है चर।

संक्षिप्तता: कोड लूप-आधारित दृष्टिकोण की तुलना में काफी छोटा और साफ है, जो पठनीयता और रखरखाव को बढ़ाता है।

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

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3