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