हमें एक फ़ंक्शन लिखना आवश्यक है जो एक ऐरे लेता है और एक नया ऐरे लौटाता है जिसमें उससे सभी डुप्लिकेट मान हटा दिए गए हों।
जो मान मूल ऐरे में एक से अधिक बार आए थे, वे नए ऐरे में एक बार भी नहीं आने चाहिए।
उदाहरण के लिए, यदि इनपुट है:
const arr = [23,545,43,232,32,43,23,43];
तो आउटपुट होना चाहिए:
const output = [545, 232, 32];
अंतर को समझना:
- Array.prototype.indexOf() → यह खोजे गए स्ट्रिंग के पहले ऑकरेंस का इंडेक्स लौटाता है यदि यह मौजूद है, अन्यथा -1।
- Array.prototype.lastIndexOf() → यह खोजे गए स्ट्रिंग के अंतिम ऑकरेंस का इंडेक्स लौटाता है यदि यह मौजूद है, अन्यथा -1।
दोनों मेथड्स बाएं से दाएं शुरू होते हैं। दोनों मेथड्स 0 से शुरू होते हैं यदि दूसरा आर्गुमेंट undefined है, अन्यथा दूसरे आर्गुमेंट से शुरू होते हैं यदि यह एक नंबर है।
तो यहां महत्वपूर्ण बिंदु यह है, यदि किसी ऐरे में, 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 ]