जावास्क्रिप्ट ऐरे से डुप्लिकेट हटाना

JavaScript

जावास्क्रिप्ट में ऐरे विशिष्टता को समझना

जावास्क्रिप्ट में, यह सुनिश्चित करना कि किसी सरणी में केवल अद्वितीय मान हों, विभिन्न अनुप्रयोगों के लिए महत्वपूर्ण हो सकता है। हालाँकि इसे प्राप्त करने के कई तरीके हैं, कुछ विधियाँ विशिष्ट परिस्थितियों में विफल हो सकती हैं, जैसे शून्य की उपस्थिति।

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

आज्ञा विवरण
new Set() एक सेट ऑब्जेक्ट बनाता है, जो आपको किसी भी प्रकार के अद्वितीय मान संग्रहीत करने देता है।
[...new Set(array)] किसी सेट को अद्वितीय मानों की सरणी में परिवर्तित करने के लिए स्प्रेड ऑपरेटर का उपयोग करता है।
Array.prototype.getUnique सरणी से अद्वितीय मान निकालने के लिए ऐरे प्रोटोटाइप पर एक नई विधि को परिभाषित करता है।
uniqueElements[this[i]] = this[i] विशिष्टता सुनिश्चित करने के लिए प्रत्येक तत्व को किसी ऑब्जेक्ट में एक कुंजी के रूप में संग्रहीत करता है।
for (let key in uniqueElements) परिणाम सरणी बनाने के लिए अद्वितीय एलिमेंट्स ऑब्जेक्ट की कुंजियों पर पुनरावृत्ति करता है।
const uniqueElements = {} अद्वितीय तत्वों को कुंजी के रूप में संग्रहीत करने के लिए एक खाली ऑब्जेक्ट को प्रारंभ करता है।

जावास्क्रिप्ट एरेज़ में डुप्लिकेट कैसे हटाएं

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

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

अद्वितीय सरणी मान सुनिश्चित करने के लिए एक कस्टम विधि

दूसरी स्क्रिप्ट एक कस्टम विधि को परिभाषित करती है बुलाया . यह विधि अद्वितीय तत्वों को ट्रैक करने के लिए किसी ऑब्जेक्ट का उपयोग करती है। विधि के भीतर, हम पहले एक खाली वस्तु को आरंभ करते हैं और एक खाली सरणी const resultArray = []. फिर हम a का उपयोग करके सरणी पर पुनरावृति करते हैं लूप, प्रत्येक तत्व को एक कुंजी के रूप में संग्रहीत करता है यह सुनिश्चित करने के लिए ऑब्जेक्ट करें कि सभी कुंजियाँ अद्वितीय हैं।

आबाद करने के बाद वस्तु, हम दूसरे का उपयोग करते हैं ऑब्जेक्ट की कुंजियों पर पुनरावृति करने के लिए लूप करें और प्रत्येक अद्वितीय कुंजी को अंदर धकेलें . अंत में, विधि वापस आ जाती है resultArray, जिसमें केवल अद्वितीय मान शामिल हैं। यह विधि विशेष रूप से शिक्षाप्रद है क्योंकि यह दिखाती है कि केवल अंतर्निहित कार्यों पर भरोसा किए बिना विशिष्टता को मैन्युअल रूप से कैसे प्रबंधित और लागू किया जाए, जिससे जावास्क्रिप्ट में डेटा संरचनाओं को संभालने की गहरी समझ मिलती है।

जावास्क्रिप्ट सरणियों में अद्वितीय मान सुनिश्चित करना

सेट का उपयोग करके जावास्क्रिप्ट विधि

function getUniqueValues(array) {
  return [...new Set(array)];
}

// Example usage:
const numbers = [1, 2, 2, 3, 4, 4, 5, 0, 0];
const uniqueNumbers = getUniqueValues(numbers);
console.log(uniqueNumbers);

एक कस्टम फ़ंक्शन के साथ एक सरणी में डुप्लिकेट हटाना

जावास्क्रिप्ट कस्टम प्रोटोटाइप विधि

Array.prototype.getUnique = function() {
  const uniqueElements = {};
  const resultArray = [];
  for (let i = 0; i < this.length; i++) {
    uniqueElements[this[i]] = this[i];
  }
  for (let key in uniqueElements) {
    resultArray.push(uniqueElements[key]);
  }
  return resultArray;
};

// Example usage:
const numbers = [1, 2, 2, 3, 4, 4, 5, 0, 0];
const uniqueNumbers = numbers.getUnique();
console.log(uniqueNumbers);

ऐरे डिडुप्लीकेशन तकनीकों में गहराई से उतरें

जावास्क्रिप्ट में किसी सरणी से डुप्लिकेट को हटाने के लिए एक अन्य महत्वपूर्ण तकनीक का उपयोग है के साथ संयोजन में विधि तरीका। इस विधि में सरणी पर पुनरावृत्ति करना और केवल उन तत्वों को शामिल करना शामिल है जिनकी पहली घटना उनकी वर्तमान स्थिति से मेल खाती है। यह सुनिश्चित करता है कि प्रत्येक तत्व को परिणामी सरणी में केवल एक बार शामिल किया गया है, डुप्लिकेट को प्रभावी ढंग से हटा दिया गया है।

उदाहरण के लिए, एक सरणी पर विचार करें . का उपयोग करके , आप डुप्लिकेट मानों को फ़िल्टर कर सकते हैं। यह दृष्टिकोण यह जाँच कर काम करता है कि क्या वर्तमान तत्व का सूचकांक उस तत्व के पहले घटना सूचकांक के समान है। यदि ऐसा है, तो तत्व अद्वितीय है और नई सरणी में शामिल है।

  1. किसी सरणी से डुप्लिकेट हटाने का सबसे प्रभावी तरीका क्या है?
  2. इसका उपयोग करना यह सबसे कुशल तरीकों में से एक है क्योंकि इसमें O(n) की समय जटिलता है।
  3. क्या मैं इसका उपयोग कर सकता हूँ डुप्लिकेट हटाने की विधि?
  4. हाँ, संयोजन साथ डुप्लिकेट को हटाने का एक सामान्य तरीका है।
  5. क्यों करता है विधि शून्य के साथ विफल?
  6. मूल स्क्रिप्ट शून्य के साथ विफल हो जाती है क्योंकि इसे असत्य मानकर शून्य पर रुक जाता है।
  7. विशिष्टता के लिए मैं किसी सरणी में विभिन्न डेटा प्रकारों को कैसे संभाल सकता हूं?
  8. इसका उपयोग करना प्रत्येक मान अद्वितीय है यह सुनिश्चित करके विभिन्न डेटा प्रकारों को कुशलतापूर्वक संभालता है।
  9. इस्तेमाल करने से क्या फायदा अन्य तरीकों पर?
  10. संक्षिप्त है और अतिरिक्त तर्क की आवश्यकता के बिना सभी प्रकार के मूल्यों को संभालता है।
  11. क्या मैं सभी सरणियों में अद्वितीय विधि जोड़ सकता हूँ?
  12. हाँ, इसमें एक विधि जोड़कर , आप इसे सभी सरणियों के लिए उपलब्ध करा सकते हैं।
  13. संशोधित करने का नकारात्मक पक्ष क्या है ?
  14. संशोधित करना यदि अन्य स्क्रिप्ट भी इसे संशोधित करती हैं तो टकराव हो सकता है।
  15. क्या मूल सरणी को बदले बिना विशिष्टता सुनिश्चित करने का कोई तरीका है?
  16. हाँ, जैसे तरीके और मूल को संरक्षित करते हुए एक नई सरणी बनाएं।

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