हमें एक ऐसा फ़ंक्शन लिखना है जो एक सरणी लेता है और एक नया सरणी देता है जिसमें से सभी डुप्लिकेट मान हटा दिए जाते हैं।
मूल सरणी में एक से अधिक बार दिखाई देने वाले मान नए सरणी में एक बार के लिए भी प्रकट नहीं होने चाहिए।
उदाहरण के लिए, यदि इनपुट है -
const arr = [23,545,43,232,32,43,23,43];
आउटपुट होना चाहिए -
const output = [545, 232, 32];
अंतर को समझना -
-
Array.prototype.indexOf() → यह खोजे गए स्ट्रिंग की पहली घटना की अनुक्रमणिका देता है यदि यह मौजूद है, अन्यथा -1।
-
Array.prototype.lastIndexOf() → यह खोजी गई स्ट्रिंग की अंतिम घटना की अनुक्रमणिका देता है यदि यह मौजूद है, अन्यथा -1।
दोनों विधियां बाएं से दाएं शुरू होती हैं।
दोनों विधियाँ 0 से शुरू होती हैं यदि दूसरा तर्क अपरिभाषित है, तो अन्य दूसरे तर्क से शुरू होते हैं यदि यह एक संख्या है।
तो यहाँ महत्वपूर्ण बिंदु यह है कि यदि किसी सरणी में, indexOf () और lastIndexOf () विधि एक ही अनुक्रमणिका की ओर इशारा करते हैं, तो हम यह सुनिश्चित कर सकते हैं कि यह केवल एक बार मौजूद है, इसलिए हम अपने कोड में इस खोज का उपयोग करेंगे।
फंक्शन का पूरा कोड होगा -
उदाहरण
const arr = [23,545,43,232,32,43,23,43]; const deleteDuplicate = (arr) => { const output = arr.filter((item, index, array) => { return array.indexOf(item) === array.lastIndexOf(item); }) return output; }; console.log(deleteDuplicate(arr));
आउटपुट
कंसोल में आउटपुट होगा -
[ 545, 232, 32 ]