Изменить: Извините, но я забыл упомянуть, что мне понадобятся значения счетных переменных. Поэтому создание одного цикла не является решением, которого я боюсь.
Я не уверен, что это вообще возможно, но я хотел бы сделать следующее.
К функции передается массив чисел. Каждый номер является верхним пределом цикла for, например, если массив равен [2, 3, 5]
, следующий код должен быть выполнен:
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]);
}
}
}
Таким образом, количество вложенных циклов равно длине массива. Будет ли какой-нибудь способ сделать эту работу? Я думал создать кусок кода, который добавляет каждый цикл в строку, а затем оценивает его через eval
. Однако я прочитал, что eval
не должен быть одним из первых, поскольку он может также иметь опасные результаты.
Какой метод может быть уместен здесь?