Quantidade variável de aninhados para loops
Edit: Desculpe, mas esqueci de mencionar que vou precisar dos valores das variáveis do contador. Receio que fazer um loop não seja uma solução.
Não tenho certeza se isso é possível, mas gostaria de fazer o seguinte. Para uma função, uma matriz de números é passada. Cada número é o limite superior de um loop for, por exemplo, se a matriz for[2, 3, 5]
, o seguinte código deve ser executado:
for(var a = 0; a < 2; a++) {
for(var b = 0; b < 3; b++) {
for(var c = 0; c < 5; c++) {
doSomething([a, b, c]);
}
}
}
Portanto, a quantidade de aninhados para loops é igual ao comprimento da matriz. Haveria alguma maneira de fazer isso funcionar? Eu estava pensando em criar um pedaço de código que adiciona cada loop for a uma string e depois o avalia atravéseval
. Eu li no entanto queeval
não deve ser a primeira escolha, pois também pode ter resultados perigosos.
Que técnica pode ser apropriada aqui?