簡體   English   中英

從數組 Javascript 中刪除特定的重復項

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM