簡體   English   中英

如何遍歷 javascript 中的這個對象數組?

[英]How can I loop through this array of objects in javascript?

我在這里有一個對象數組:

const users = [
    {
        name: 'xyz',
        claims: [
            {"location": 'dallas',
            "id": '123'},
            {"location": 'frisco',
            "id": '123'},
            {"location": 'plano',
            "id": '123'},
        ]
    },
    {
        name: 'abc',
        claims: [
            {"location": 'richardson',
            "id": '123'},
            {"location": 'rowlett',
            "id": '123'},
            {"location": 'dallas',
            "id": '123'},
        ]
    },
    {
        name: 'adr',
        claims: [
            {"location": 'frisco',
            "id": '123'},
            {"location": 'irving',
            "id": '123'},
            {"location": 'dallas',
            "id": '123'},
        ]
    }
]

我想獲得以達拉斯為價值的所有地點。 我怎樣才能做到這一點? 我知道我可能會使用一個循環(也許是一個 forEach),但我不確定如何獲得我需要的值。 我會使用過濾器嗎?

flatMapfilter組合使用:

const dallasLocations = users.flatMap(user => {
    return user.claims.filter(claim => claim.location === 'dallas')
})

您可以在過濾等於dallas的位置后使用flatMap來展平映射的數組。

 const users = [ { name: 'xyz', claims: [ {"location": 'dallas', "id": '123'}, {"location": 'frisco', "id": '123'}, {"location": 'plano', "id": '123'}, ] }, { name: 'abc', claims: [ {"location": 'richardson', "id": '123'}, {"location": 'rowlett', "id": '123'}, {"location": 'dallas', "id": '123'}, ] }, { name: 'adr', claims: [ {"location": 'frisco', "id": '123'}, {"location": 'irving', "id": '123'}, {"location": 'dallas', "id": '123'}, ] } ] const result = users.flatMap(u => u.claims.filter(c => c.location === 'dallas')) console.log(result)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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