Generates a random string with the specified length.

  • Use Array.from() to create a new array with the specified length.
  • Use Math.random() generate a random floating-point number, Number.prototype.toString(36) to convert it to an alphanumeric string.
  • Use String.prototype.slice(2) to remove the integral part and decimal point from each generated number.
  • Use Array.prototype.some() to repeat this process as many times as required, up to length, as it produces a variable-length string each time.
  • Finally, use String.prototype.slice() to trim down the generated string if it's longer than the given length.
const randomAlphaNumeric = length => {
  let s = '';
  Array.from({ length }).some(() => {
    s += Math.random().toString(36).slice(2);
    return s.length >= length;
  return s.slice(0, length);
randomAlphaNumeric(5); // '0afad'