@jondoeonoe

Как из строки сделать массив с рандом значениями?

function uid(alphabet, n) {
  ???
}

uid("ab", 1) // One of: "a", "b"
uid("ab", 2) // One of: "aa", "ab", "ba", "bb"
uid("ab", 3) // One of: "aaa", "aab", "aba" ...

uid("abc", 1) // One of: "a", "b", "c"
uid("abc", 2) // One of: "aa", "ab", "ac", "ba", "bb", "bc", "ca", "cb", "cc"
uid("abc", 3) // One of: "aaa", "aab", "aac" ...


Не совсем понимаю куда копать и как сделать подобное. В итоге выходит 3-4 цикла и пока еще под вопросом решение. Подскажите пожалуйста.
  • Вопрос задан
  • 71 просмотр
Решения вопроса 2
@askhat
function uid (alphabet, n) {
  let string = ''
  for (let i = 0; i < n; i++) {
    string += alphabet[Math.floor(Math.random() * alphabet.length)]
  }
  return string
}


Берите nanoid и не мучайтесь
Ответ написан
Комментировать
@Cr2ed
Первый аргумент превращаем в массив (назавем его условно alphArr). Далее на основании второго числа нужное количество раз генерим рандомное число в диапазоне от 0 до alphabet.length и по этому числу обращаемся к массиву alphArr. Полученное значение кладем в другой массив result. В конце делаем result.join('');
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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