Допустим, у меня есть следующий массив объектов в JavaScript:
const requests = [
{
id: 1,
person: {
id: 1
}
},
{
id: 2,
person: {
id: 1
}
},
{
id: 3,
person: {
id: 2
}
},
{
id: 4,
person: {
id: 3
}
},
{
id: 5,
person: {
id: 2
}
}
]
И то, что я написал ниже, будет go для каждого элемента в массиве, а затем создаст новый массив, содержащий только объект person
.
const requestsPeopleIds = []
for (const request of requests) {
requestsPeopleIds.push(request.person.id)
}
Затем я беру этот новый массив и создаю другой новый массив, используя Set
, чтобы удалить дубликаты id
s:
const uniquePeopleIds = Array.from(new Set(requestsPeopleIds))
Окончательный результат, как я и ожидал:
console.log(uniquePeopleIds) // [1, 2, 3]
, где это уникальные id
людей, которые сделали запрос. Итак, из 5
запросов они были сделаны 3
людьми.
Должен быть более эффективный способ сделать это, поэтому я обращаюсь к вам stack overflow
JS гуру .
Заранее спасибо.