js 数值每三位加逗号和反转字符串
2018-04-09 00:00
225 查看
参考
https://funteas.com/topic/5ac9cc8c7be5304e6850cfba
上面的实现总感觉有点不够优雅(装逼。。。),想着自己换种方式试试。
首先字符串反转
先分割为数组,然后调用数组的reverse方法反转字符,最后拼接为字符串
使用reduce改写,在里面判断下标是否是3的倍数并且不是第一个,由于是反转后的,第一个 就是整数数字部分的最后一个
https://funteas.com/topic/5ac9cc8c7be5304e6850cfba
上面的实现总感觉有点不够优雅(装逼。。。),想着自己换种方式试试。
首先字符串反转
先分割为数组,然后调用数组的reverse方法反转字符,最后拼接为字符串
let s = 'abcd' console.log( s.split('').reverse().join('') // dcba )
使用reduce改写,在里面判断下标是否是3的倍数并且不是第一个,由于是反转后的,第一个 就是整数数字部分的最后一个
function fun(s) { console.log( s, s.split('.')[0], s.split('.')[0].split('').reverse(), s.split('.')[0].split('').reverse().reduce( (pre, cur, index) => pre.concat(index % 3 == 0 && index != 0 ? cur + ',' : cur), [] ).reverse().join('') + ('' + s.split('.')[1] != "undefined" ? ('.' + s.split('.')[1]) : ''), ) } let strs = [ '1', '123', '1234', '123456', '123456789.12345', ] for (const s of strs) { fun(s) } 1 1 [ '1' ] 1 123 123 [ '3', '2', '1' ] 123 1234 1234 [ '4', '3', '2', '1' ] 1,234 123456 123456 [ '6', '5', '4', '3', '2', '1' ] 123,456 123456789.12345 123456789 [ '9', '8', '7', '6', '5', '4', '3', '2', '1' ] 123,456,789.12345
相关文章推荐
- 生成每三位逗号分割的,像财务数据那样数字字符串,及相反的解析一个带分割符的串到数值
- js把科学计数法表示的字符串转化为数值的方法
- js 数值转换为3位逗号分隔
- JS PHP替换文本框多行文本的空格,回车;去掉字符串最后的逗号
- js里实现给数字加三位一逗号间隔的两种方法
- js 去除字符串第一位逗号的方法
- js多位数字每隔三位加一个逗号
- js 数值转换为3位逗号分隔的示例代码
- js 数字每个三位加一个逗号
- js中的自动类型转换 字符串变量和数值执行算数运算
- 正则表达式:数值及数值型字符串三位一组格式化
- js拼字符串传action时 不要用#号拼接,用逗号
- PAT (Advanced Level) 1001. A+B Format (20) 字符串每三位添加逗号,stack辅助
- JS字符串按逗号和回车分隔
- js里实现给数字加三位一逗号间隔的两种方法
- js有中文英文逗号的字符串怎么分割成数组
- js数字的货币格式表示法(每三位一个逗号分隔)
- js每三位加逗号
- js 字符串数值比较的坑
- JS将数字转换成三位逗号分隔的样式(示例代码)