Вот что я пытаюсь сделать:
Я хочу просмотреть позиции пользователей, а затем использовать их для циклического перебора офисов, которым назначены должности, и возврата только офиса иположение пользователя.
Это то, что я пробовал, я знаю, что это избыточно и просто проходит через все офисы и фильтрует его по позициям пользователей и возвращает тот же точный результат, что и userPositions
, я просто не могу понятькак пройти через них, захватить позицию в офисе и вернуть только те офисы и офисные позиции, у которых есть свой идентификатор == user позиции.id
filter(){
var userPositions = this.users.positions;
var offices = this.offices;
var filter = []
var position = offices.forEach(office => {
office.positions.forEach(position => {
filter.push(position)
})
});
userPositions.forEach(userP => {
filter.find(p => p.id === userP.id)
})
console.log(filter)
}
Вот как я хочу, чтобы это выглядело:
[
{
"id": 1,
"name": "Leadership Committee",
"abbreviation": "LC",
"positions": [
{
"id": 122,
"name": "Deputy Director",
"abbreviation": "DD",
},
]
},
{
"id": 10,
"name": "Admin Committee",
"abbreviation": "AC",
"positions": [
{
"id": 124,
"name": "Director",
"abbreviation": "Dir",
}
]
}
]
Вот информация о user.positions:
{
"id": 1,
"username": "Admin",
"status": 1,
"created_at": "2019-07-23 21:49:56",
"updated_at": "2019-08-30 07:22:17",
"positions": [
{
"id": 124,
"name": "Director",
"abbreviation": "Dir",
},
{
"id": 122,
"name": "Deputy Director",
"abbreviation": "DD",
}
]
}
и вот как выглядят все офисы:
[
{
"id": 1,
"name": "Leadership Comittee",
"abbreviation": "LC",
"positions": [
{
"id": 119,
"name": "Director",
"abbreviation": "Dir",
"pivot": {
"office": 1,
"position": 119,
"hierarchy": 1
}
},
{
"id": 122,
"name": "Deputy Director",
"abbreviation": "DD",
"pivot": {
"office": 1,
"position": 122,
"hierarchy": 2
}
},
]
},
{
"id": 10,
"name": "Admin Comittee",
"abbreviation": "AC",
"positions": [
{
"id": 124,
"name": "Director",
"abbreviation": "Dir",
"pivot": {
"office": 10,
"position": 124,
"hierarchy": 0
}
}
]
}
]