今天聊一个比较有意思的问题,就是在 JavaScript 中为数字添加千分位。这种在一些需要显示金额的地方可能会用到。今天我们来探索几种不同的方法。
解法一:toLocaleString()
我们先看一种比较简单的方法,代码行数最少。numObj.toLocaleString([locales [, options]])
1 | const num = 1234567; |
不过需要注意的是,使用前需要先关注下各个浏览器的兼容性情况。
解法二:正则
正则是我个人比较喜欢的一种方式,代码量少并且执行效率较高。
1 | const num = '10000000000'; |
不过上面的这种正则不支持数字里面带小数点。如果带有小数点的可能需要额外处理下。
1 | const num = '12345678.01'; |
解法三:for 循环
通过循环的方式,自然是最符合程序猿思维的方式了。不过相比较上面的两种方式代码量就比较多了。
1 | function format(num) { |
解法四:reduce 版本
1 | function format(num) { |
哈哈 just for fun!