JS中如何将对象内嵌箭头函数输出赋值给变量?base62解码报错
问题解决:base62.decode 调用 slice 报错的处理
错误根源
base62.decode()的返回值是数字类型(比如解码'3YY'得到15312),而slice()是字符串或数组的专属方法,数字没有这个方法,所以会抛出TypeError。
正确处理步骤
你需要先把解码得到的数字转换为字符串,再执行切片操作:
分步写法(可读性更高)
const sample = '3YY'; // 1. 执行base62解码,得到数字 const decodedNumber = base62.decode(sample); // 2. 将数字转为字符串 const decodedString = decodedNumber.toString(); // 3. 执行切片操作 const decodeMe = decodedString.slice(0, 4); // 结果为 '1531'
链式写法(更简洁)
const sample = '3YY'; const decodeMe = base62.decode(sample).toString().slice(0, 4); // 结果为 '1531'
额外需求:转回数字
如果后续需要将切片后的字符串转回数字,可使用parseInt:
const decodeMeNum = parseInt(decodeMe, 10); // 结果为 1531
内容的提问来源于stack exchange,提问作者spatial_coder
相关产品推荐
相关产品推荐

