हमें एक फ़ंक्शन लिखना आवश्यक है जो एक ऐरे से डुप्लिकेट ऑब्जेक्ट्स को हटाता है और एक नया ऐरे लौटाता है। एक ऑब्जेक्ट को दूसरे का डुप्लिकेट मानें यदि उन दोनों में समान संख्या में कीज हैं, समान कीज हैं और प्रत्येक कुंजी के लिए समान मान हैं।
आइए इसके लिए कोड लिखें:
हम एक मैप का उपयोग करेंगे जिसमें स्ट्रिंगिफाइड रूप में विशिष्ट ऑब्जेक्ट्स को स्टोर करेंगे और एक बार जब हम एक डुप्लिकेट कुंजी देखते हैं तो हम इसे छोड़ देते हैं अन्यथा हम ऑब्जेक्ट को नए ऐरे में पुश करते हैं:
उदाहरण
const arr = [
{
"timestamp": 564328370007,
"message": "It will rain today"
},
{
"timestamp": 164328302520,
"message": "will it rain today"
},
{
"timestamp": 564328370007,
"message": "It will rain today"
},
{
"timestamp": 564328370007,
"message": "It will rain today"
}
];
const map = {};
const newArray = [];
arr.forEach(el => {
if(!map[JSON.stringify(el)]){
map[JSON.stringify(el)] = true;
newArray.push(el);
}
});
console.log(newArray);
आउटपुट
कंसोल में आउटपुट होगा:
[
{ timestamp: 564328370007, message: 'It will rain today' },
{ timestamp: 164328302520, message: 'will it rain today' }
]