如何在JavaScript中使用自定义的n长度字符集打印n位数字而不使用toString

如何在JavaScript中使用自定义的n长度字符集打印n位数字而不使用toString,javascript,string,integer,Javascript,String,Integer,同样,我们使用字符123456789abcdef得到十六进制“number”,您只需执行integer即可。toString(16)从整数转换为十六进制: > (16).toString(16) '10' 。。。我想改为使用自定义字符集和自定义基。所以对于hex,如果我想使用字符13579acegikmoqsu,那么应该是这样的: > (16).toString(16, '13579acegikmoqsu') 'ik' > (16).toString(6, 'and123'

同样,我们使用字符
123456789abcdef
得到十六进制“number”,您只需执行
integer即可。toString(16)
从整数转换为十六进制:

> (16).toString(16)
'10'
。。。我想改为使用自定义字符集和自定义基。所以对于hex,如果我想使用字符
13579acegikmoqsu
,那么应该是这样的:

> (16).toString(16, '13579acegikmoqsu')
'ik'
> (16).toString(6, 'and123')
'a3d'
我不知道在这种情况下,输出值会是多少,只是虚构出来的。但我正在寻找如何在JavaScript中实现这一点

十六进制之外的另一个示例是,例如,使用字符集
和123
将基数6转换为字符串,因此它类似于:

> (16).toString(16, '13579acegikmoqsu')
'ik'
> (16).toString(6, 'and123')
'a3d'
我也不知道这里的值是多少,我不知道如何计算。基本上想知道如何在JavaScript中实现这一点,不一定要使用这个
toString
api,最好它的级别稍微低一点,这样我也可以理解它背后的逻辑


同样,知道如何将其反转也会很有帮助,因此可以从
a3d=>16
开始,就像在这个伪示例中一样。

您可以将整数值的字符值映射为索引

函数到字符串(n个字符){
变量基数=字符数。长度;
返回数组
.from(n.toString(基数),v=>字符[parseInt(v,基数)])
.加入(“”);
}

console.log(toString(16,'13579acegikmoqsu');//31
>(16).toString(16,'13579acegikmoqsu')
结果应该是
31
似乎您需要一种映射,为了性能,可以使用固定的字符集示例,如'0123456789abcdef'。虽然这会对基应用限制。不知道您是否可以不使用
toString()
,甚至不使用
parseInt
来显示它。