Переменное количество вложенных циклов for

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 не должен быть первым выбором, так как он тоже может иметь опасные результаты.

Какой метод здесь может быть подходящим?

23
задан Stéphane Laurent 7 April 2015 в 10:32
поделиться