JS 长度为500的字母组合数组

实现长度为500的字母组合数组,如以下代码所示:

/**
     * fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符串,
     * 该方法是 String 的静态方法,字符串中的每个字符都由单独的 Unicode 数字编码指定。
    */
    // 此方法来自一位群友
    const combin1 = () => {
      const arr = []
      for (let i = 0; i < 500; i++) {
        /**
         * Math.floor向下取整,在i不能被26整除之前,Math.floor(i / 26) 都是同一个值,
         * String.fromCharCode(65) 是字母A,每遍历26次 Math.floor(i / 26) 会更新一个值
         * 所以每遍历26次 String.fromCharCode(65 + Math.floor(i / 26)) 就会更新字母
        */
        let first = String.fromCharCode(65 + Math.floor(i / 26));
        // i % 26 每一次取模运算都会得到为 i 的值,所以每遍历26次字母表 String.fromCharCode(65 + i % 26) 循环一次
        let second = String.fromCharCode(65 + i % 26)
        // 每遍历一次都会有 AA、AB...BB、BC...被push进数组
        arr.push(first + second)
      }
      return arr
    }
    /**
     * 双层遍历的方式就比较好理解了
    */
    const combin2 = () => {
      const arr = []
      const list = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');
      list.forEach(i => list.forEach(j => arr.push(i + j)))
      return arr.splice(0, 500)
    }

结果如图所示:
JS 长度为500的字母组合数组_第1张图片

你可能感兴趣的:(js算法,javascript,前端)