從物件陣列中刪除重複項JavaScript
我們需要編寫一個函式從陣列中刪除重複物件並返回一個新的陣列。如果兩個物件的鍵數相同、鍵相同且每個鍵的值相同,則認為一個物件是另一個物件的重複。
讓我們寫出如下程式碼:
我們將使用一個對映以字串形式儲存不同的物件,一旦看到重複的鍵,我們就忽略它,否則將物件推入新陣列中:
示例
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' }
]
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP