@thystruby

Как перебрать элементы массива?

Есть массив с объектами типа
[
{
site_id: "qwe",
url: [
"eee.eee.ru",
"www.www.ru",
],
phone_num: "123456789",
source: "qwe",
ops: "velc"
},
{
site_id: "qwe_pc",
url: [
"sss.sss.ru",
"aaa.aaa.ru"
],
phone_num: "1029384756",
source: "qwe",
ops: "mt"
}
]


и есть переменная типа let userUrl = 'sss.sss.ru';

Необходимо:
1) Перебрать циклом этот массив и сравнить свойство url каждого объекта в массиве с переменной userUrl
2) Если свойство url из объекта массива совпадает с переменной userUrl и свойство ops = 'velc' , то записать свойство phone_num этого объекта в одну переменную, а если ops = 'mt', то в другую переменную

Помогите кто чем сможет :)
  • Вопрос задан
  • 261 просмотр
Решения вопроса 1
Первый undefined, второй 1029384756
Если я конечно правильно понял суть задания!
Так же можно немного сократить код в циклах(как по мне), ну это уже на любителя
let userUrl = 'sss.sss.ru', phone_num_1, phone_num_2;
	let arr = [{
		site_id: "qwe",
		url: [ "eee.eee.ru", "www.www.ru" ],
		phone_num: "123456789",
		source: "qwe",
		ops: "velc"
	}, {
		site_id: "qwe_pc",
		url: [ "sss.sss.ru", "aaa.aaa.ru" ],
		phone_num: "1029384756",
		source: "qwe",
		ops: "mt"
	}];

	arr.forEach(function(item) {
		item.url.indexOf(userUrl) > -1 && item.ops == "velc" && (phone_num = item.phone_num);
		item.url.indexOf(userUrl) > -1 && item.ops == "mt"   && (phone_num_2 = item.phone_num);
	});

	console.log(phone_num_1);
	console.log(phone_num_2);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы