var newUsers = [];
newUsers = usersList.filter(function(user) {
resultCountries.forEach(function(country) {
if(user.countryId == country.id) {
return user;
}
})
})
Есть вот такой код. В массив newUsers попадают пользователи, которые подоходят по параметру.
Для фильтрации использую функцию filter, которая при return добавляет элемент в массив, но мне нужно понять какой стране соответствует пользователь, для этого перебирается массив со странами и сравниваются ID, но видимо, когда я прописываю return внутри forEach происходит не то, что нужно, как сделать правильно?
Вот данные:
var usersList = [
{
id: 1,
firstname: 'Екатерина',
lastname: 'Катя',
country: 'Россия',
city: 'Алейск',
countryId: 1,
cityId: 1,
years: 25,
image: 'img/folders/1.jpg'
},
{
id: 2,
firstname: 'Анастасия',
lastname: 'Катя',
country: 'Россия',
city: 'Барнаул',
countryId: 1,
cityId: 2,
years: 15,
image: 'img/folders/2.jpg'
},
{
id: 3,
firstname: 'Дмитрий',
lastname: 'Васильев',
country: 'Россия',
city: 'Алейск',
countryId: 1,
cityId: 2,
years: 53,
image: 'img/folders/3.jpg'
},
{
id: 4,
firstname: 'Иван',
lastname: 'Оуук',
country: 'Беларусь',
city: 'Витебск',
countryId: 2,
cityId: 3,
years: 64,
image: 'img/folders/1.jpg'
},
{
id: 5,
firstname: 'Джон',
lastname: 'Джон',
country: 'США',
city: 'Сидар-Рапидс',
countryId: 3,
cityId: 9,
years: 12,
image: 'img/folders/3.jpg'
},
{
id: 6,
firstname: 'Григорий',
lastname: 'Лаш',
country: 'США',
city: 'Де-Мойн',
countryId: 3,
cityId: 8,
years: 35,
image: 'img/folders/4.jpg'
},
]
var countries = [
{
name: 'Россия',
id: 1,
regions: [
{
name: 'Алтайский край',
id: 1,
cities: [
{
name: 'Алейск',
id: 1
},
{
name: 'Барнаул',
id: 2
}
]
}
]
},
{
name: 'Беларусь',
id: 2,
regions: [
{
name: 'Витебская',
id: 2,
cities: [
{
name: 'Витебск',
id: 3,
},
{
name: 'Браслав',
id: 4
},
{
name: 'Верхнедвинск',
id: 5,
},
{
name: 'Барань',
id: 6,
},
{
name: 'Миоры',
id: 7,
},
]
}
]
},
{
name: 'США',
id: 3,
regions: [
{
name: 'Айова',
id: 3,
cities: [
{
name: 'Де-Мойн',
id: 8
},
{
name: 'Сидар-Рапидс',
id: 9,
}
]
}
]
}
]