生成随机的字母数字字符串

生成指定长度的随机字符串。

  • 使用 Array.from() 创建一个指定长度的新数组。
  • 使用 Math.random() 生成一个随机的浮点数。
  • 使用 Number.prototype.toString() 将其转换为一个字母数字字符串,radix 值为 36
  • 使用 String.prototype.slice() 去除每个生成的数字的整数部分和小数点。
  • 使用 Array.prototype.some() 重复此过程多次,直到达到指定的 length,因为每次生成的字符串长度都不同。
  • 最后,使用 String.prototype.slice() 去除生成的字符串的多余部分,如果它的长度超过了给定的 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'