@uzi_no_uzi

Как правильно отфильтровать?

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,
                        }
                    ]
                }
            ]
        }
    ]
  • Вопрос задан
  • 129 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы