हमें एक फ़ंक्शन लिखना आवश्यक है जो एक ऐरे लेता है और एक नया ऐरे लौटाता है जिसमें इससे सभी डुप्लिकेट मान हटा दिए गए हों।
जो मान मूल ऐरे में एक से अधिक बार प्रकट हुए थे, उन्हें नए ऐरे में एक बार भी प्रकट नहीं होना चाहिए।
उदाहरण के लिए, यदि इनपुट है -
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 ]