记录使用loadsh的踩的坑
开发nodejs后端,基本都要使用到loadsh这个module,loadsh是一个强大的工具包,里面提供了大量的关于Array,String操作的方法,
对于我们的开发提供了很大的便利,但是如果对于它提供的方法不了解的话,可能就会产生一些不必要的麻烦
trimStart
查看中文官网的介绍,我们可以看到如下的介绍:
该方法是用来移除字符串前面的指定的空格
和字符,可以看到第二个参数是一个string
类型。这里请重点关注一下字符。
接下来我们就可以在工作中使用该方法了,然后我写了一个如下的代码,就悲剧了。
1 | const _ = require('loadsh'); |
如上的代码是一个用来生成order编码的代码,获取一个最新的编码,去掉了年份信息,对序号进行加1的操作,期望得到number为2,实际得到number为1。
这里的关键是trimStart
方法是对字符进行处理,不是按照字符串进行处理,也就是说,我们传入的2019
会被拆成2,0,1,9
四个字符进行处理,这样处理完毕的number
就是一个空字符串,而不是期望获得的001
。
这里因为我们知道序号就是最后三位,所以我们可以使用slice
方法直接获得最后三位字符。