Задать вопрос
@Arturchick

Как написать функцию которая возвращает все комбинации, меняя одну цифру в строке?

Как написать функцию в языке javascript которая принимает строку состоящую из цифр и возвращает все возможные комбинации изменяя только одну цифру
например функция принимает '10' на выходе возвращает [00,10,20,30,40,50,60,70,80,90, 11,12,13,14,15,16,17,18,19]
  • Вопрос задан
  • 267 просмотров
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const xxx = str =>
  Array.from(
    { length: 1 + str.length * 9 },
    (n, i) => i--
      ? (n = i / 9 | 0, i %= 9,
         Array.from(str, (m, j) => j === n ? i + (i >= m) : m).join(''))
      : str
  );

или

const xxx = str =>
  [...str].reduce((acc, n, i, a) => {
    for (let j = 0; j < 9; j++) {
      a[i] = j + (j >= n);
      acc.push(''.concat(...a));
    }

    a[i] = n;

    return acc;
  }, [ str ]);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@abberati
frontend-разработчик
const fn = string =>
  Array.from({ length: string.length }, (_, i) =>
    Array.from({ length: 10 }, (_, j) => string.slice(0, i) + j + string.slice(i + 1))
  ).flat()
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы