@Torento20345

Как сделать цикл из n циклов for?

Как получить сумму из n циклов for?
Например тут два цикла for для получения разных вариантов из цифры длинной в 2 элемента, а как сделать так, чтобы не писать всегда for, а числом n устанавливать длину разнообразия вариантов числа по данному массиву?
Например числа
n = 2 => 12, 13, 22, 51 и т.д.
n = 3 => 333, 244, 123
n = 4 => 1321, 2134

let arr = [1,2,3,4,5]
let r = []
for(let i = 0; i < arr.length; ++i) {
	for(let j = 0; j < arr.length; ++j) {
  	r.push('' + i + j);
  }
}
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ответы на вопрос 1
Alexandroppolus
@Alexandroppolus
кодир
рекурсия
function rec(arr, n, value, result) {
    if (n > 0) {
        for(let i = 0; i < arr.length; ++i) {
            rec(arr, n - 1, value + arr[i], result);
        }
    } else {
        result.push(value);
    }
}

let arr = [1,2,3,4,5]
let r = []
rec(arr, 2, '', r);
console.log(r);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы