[英]Removing specific duplicates from an array Javascript
我有一個這樣的數組
const ex = [
{
name: 'John',
sender: "12345678",
receiver: {
name: "simi",
age: 20,
city: "New York"
},
time: 12:30 am
},
{
name: 'Jane',
sender: {
name: "simi",
age: 20,
city: "New York"
},
receiver: "12345678",
time: 1:00 pm
}
]
在這個數組中,第一個對象中的發送者屬性值等於第二個對象中的接收者屬性值。 有沒有一種方法可以檢查並僅生成此值的一次出現,即僅存在該值的一個對象
嘗試這個:
const ex = [ { name: 'John', sender: "12345678", receiver: { name: "simi", age: 20, city: "New York" }, time: "12:30 am" }, { name: 'Jane', sender: { name: "simi", age: 20, city: "New York" }, receiver: "12345678", time: "1:00 pm" } ] let map = {} ex.forEach(e => { let obj = null; if(e.sender instanceof Object) obj = e.sender; else if(e.receiver instanceof Object) obj = e.receiver; if(!obj) return; let key = obj.name+obj.age+obj.city; if(!map[key]) map[key] = e; }); console.log(Object.values(map));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.