如何使用最大为 16 numbers/chars 的十六进制限制 (16) 将值增加到预定义值? (Javascript)

How to increment value up to pre defined value, using hex limit (16) with maximum of 16 numbers/chars? (Javascript)

我正在尝试将种子增加到最大值 16(使用十六进制:0123456789ABCEDF),限制为 16 numbers/chars。

类似于生成范围内结果的函数:

介于 0 和 33 之间,结果应为:

0: "0000000000000000"
1: "0000000000000001"
2: "0000000000000002"
3: "0000000000000003"
4: "0000000000000004"
5: "0000000000000005"
6: "0000000000000006"
7: "0000000000000007"
8: "0000000000000008"
9: "0000000000000009"
10: "000000000000000A"
11: "000000000000000B"
12: "000000000000000C"
13: "000000000000000D"
14: "000000000000000E"
15: "000000000000000F"
16: "0000000000000010"
17: "0000000000000011"
18: "0000000000000012"
19: "0000000000000013"
20: "0000000000000014"
21: "0000000000000015"
22: "0000000000000016"
23: "0000000000000017"
24: "0000000000000018"
25: "0000000000000019"
26: "000000000000001A"
27: "000000000000001B"
28: "000000000000001C"
29: "000000000000001D"
30: "000000000000001E"
31: "000000000000001F"
32: "0000000000000020"
33: "0000000000000021"

我已经做了一个随机函数来生成种子(这更容易)。但是,如果我想按顺序生成它们,我应该如何进行?

随机函数:

function makeid(length) {
      let result           = '';
      result += "0x";
      var characters       = '0123456789ABCDEF';
      var charactersLength = characters.length;
      for ( let i = 0; i < length; i++ ) {
        result += characters.charAt(Math.floor(Math.random() * charactersLength));
      }
      return result;
    }
    let seeds = ""
    
    let number = 50;
    
    function genSeeds(number){
      for(let s=0;s<number;s++){
        seeds+= "<span>"+makeid(16)+"</span><br>"
      }
      $('.result').html(seeds);
    }
    
    genSeeds(number);
.result {
  font-family: consolas;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="result"></div>

您可以使用一个函数将给定的十六进制字符串加一。

function inc(hex) {
    var carry = 1;
    return [...hex].reduceRight((r, v) => {
        r.unshift(((carry += parseInt(v, 16)) % 16).toString(16));
        carry >>= 4;
        return r;
    }, []).join('');
}

var value = '000000000000000A',
    count = 10;

while (count--) console.log(value = inc(value));