Прис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");
}