@Myrokk

Как подсчитать числа в этом коде?

Вот у меня есть код :
let counter = 0;
const number = arr => arr.reduce((p, c, i, a) => {
  const f = prefix => {
    for (let j = 0; j < a.length; j++)
      if (prefix.length < a.length - 1) {
        f(prefix + a[j]);
      } else {
        p.push(+(prefix + a[j]));
      }
  };
  f(c.toString());
  return p;
}, []);

document.write(number([1, 2, 3]));
console.log(counter);


Как мне подсчитать числа которые пушуются?
Должно получится 27
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
Sedbol
@Sedbol
Можно так например
let counter = 0;
    const number = arr => arr.reduce((p, c, i, a) => {
        const f = prefix => {
            for (let j = 0; j < a.length; j++)
                if (prefix.length < a.length - 1) {


                    f(prefix + a[j]);
                } else {
                    p.push(+(prefix + a[j]));
                }
        };
        f(c.toString());
        return p;
    }, []);
    var num =number([1, 2, 3]);
    document.write(number([1, 2, 3]));
    console.info(num.length)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Надо понимать, что этот код делает. Он составляет все возможные комбинации из заданных чисел, длиной столько же цифр – и возвращает массив этих чисел. Вас интересует его длина.
  • Можно взять длину массива, который вернули.
  • Можно взять длину Nисходного массива и возвести её в степень себя: NN.
    Для трёх это будет 3 в кубе 3*3*3 = 27
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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