Cantidad variable de anidados para bucles

Editar: lo siento, pero olvidé mencionar que necesitaré los valores de las variables del contador. Así que hacer un bucle no es una solución, me temo.

No estoy seguro de si esto es posible, pero me gustaría hacer lo siguiente. A una función, se pasa una matriz de números. Cada número es el límite superior de un bucle for, por ejemplo, si la matriz es[2, 3, 5], se debe ejecutar el siguiente código:

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]);
          }
     }
}

Entonces, la cantidad de bucles anidados es igual a la longitud de la matriz. ¿Habría alguna forma de hacer que esto funcione? Estaba pensando en crear un fragmento de código que agregue cada bucle for a una cadena y luego lo evalúeeval. Sin embargo, he leído queeval no debería ser la primera opción, ya que también puede tener resultados peligrosos.

¿Qué técnica podría ser apropiada aquí?

Respuestas a la pregunta(8)

Su respuesta a la pregunta