Задать вопрос
@vetsmen

Почему в цикле всего 1 итерация?

Есть код:
let items = {}; // в данном массиве 2 объекта, идет запрос в бд
	let results = {}
	results.type,
	results.special,
	results.wea,
	results.simple,
	results.coll = [];
	
	items.forEach((item) => {
		switch(item.gang) {
			case 1:
				results.type.push(item);
				break;
			case 2:
				results.special.push(item);
				break;
			case 3:
				results.wea.push(item);
				break;
			case 4:
				results.simple.push(item);
				break;
			case 5:
				results.coll.push(item);
				break;
		}
	});

Однако итерация продолжается только 1 раз, заходит в switch, там обрабатывается и все.
Если switch убрать, то все нормально.
В чем проблема?
  • Вопрос задан
  • 182 просмотра
Подписаться 1 Средний 4 комментария
Пригласить эксперта
Ответы на вопрос 2
SnaIP
@SnaIP
Front-end разработчик
let items = [] тогда уж присвойте массив, forEach это метод массива array.prototype, а туда пусть падает коллекция объектов или что там с бд приходит
Ответ написан
Комментировать
@vitstr
Front-end developer
Если вам нужно перебрать именно объект {} используйте цикл for..in, но как сказали выше, лучше сделать массив [] из объектов {} и перебирать его.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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