Показать сообщение отдельно
  #10 (permalink)  
Старый 02.09.2022, 23:17
Аватар для Alikberov
Кандидат Javascript-наук
Отправить личное сообщение для Alikberov Посмотреть профиль Найти все сообщения от Alikberov
 
Регистрация: 16.08.2018
Сообщений: 109

Присoeдинюсь к дискуссии.

Лично меня тоже напрягает ограниченность break/continue.
Почему нельзя указать число с указанием уровня вложенности для их действия?
Примерно вот так:
for(i = 0; i < x; ++ i) {
	for(j = 0; j < y; ++ j) {
		for(k = 0; k < z; ++ k) {
			if(k == i)
				continue 1;	// continue 0 / continue - продолжение текущего блока (for k)
							// continue 1 - продолжение блока на 1 уровень выше (for j)
							// continue 2 - продолжение блока на 2 уровня выше (for i)
			switch(m[k]) {
			case false:
				break 2;	// break - выйти из switch
							// break 0 - выйти из текущего цикла (for k)
							// break 1 - выйти из цикла на 1 уровень выше (for j)
							// break 2 - выйти из цикла на 2 уровня выше (for i)
			}
		}
		console.log("Покинули цикл for k");
		if(i == j)
			break 2;		// выходим из цикла двумя уровнями выше (for i)
		switch(m[j]) {
		case true:
			continue 1;		// продолжение блока на 1 уровень выше (for i)
		}
	}
	console.log("Покинули цикл for j");
}
Ответить с цитированием