摘要:核心都是通过数组的不同的是,一个通过字符串,一个通过数组算法不考虑入参的判断另外一种优化算法,因为字符串在每次变化都会重新开辟内存,所有转化为数组会更加便捷算法算法正则更多文章在
1 核心都是通过数组的reduce,不同的是,一个通过字符串,一个通过数组 2 算法1
var str = "123456789"; //[9,8,7,6,5,4,3,2,1] function formatCash(str) { //不考虑入参的判断 return String(str).split("").reverse().reduce((pre, next, index) => { return (index % 3) ? (next + "" + pre) : (next + "," + pre); }) } console.log(formatCash(str));
另外一种优化算法,因为字符串在 js 每次变化都会重新开辟内存,所有转化为数组会更加便捷;
3 算法2function f(str) { const ret = Array.from(str).reverse().reduce((result,next,i,arr) => { if((i+1)%3 === 0 && (i+1) !== arr.length) { result.push(next,",") return result; } result.push(next); return result; // return (index % 3) ? (next + "" + pre) : (next + "," + pre); },[]) return ret.reverse().join(""); }3 算法3 正则
var reg2 = /(?!^)(?=(d{3})+$)/g; console.log(str2.replace(reg2,",");
更多文章在github
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/107880.html
摘要:实现思路使用正则,用数字中的小数点做匹配尾部参考,来匹配某个数字后面的一个或多个连续位数字,如果匹配到把该数字替换成自身加分隔符,如下示例分隔数字解释和之间有一个连续位数字,那么给后面添加一个分隔符得到结果。 功能:可实现不同符号分隔数字,可自定义分隔后数字保留的小数位数。 实现思路 使用正则,用数字中的小数点做匹配尾部参考,来匹配某个数字后面的一个或多个连续3位数字,如果匹配...
摘要:同学前端面试遇到这么一个题目给数字添加千分位分隔符一拿到他给的面试题,感觉挺容易的,不过等自己写后发现非常考虑逻辑,以及思维能力我是小白上网百度了一波全是用正则表达式来解决的,正则这块我只懂皮毛,所以感觉有点看不明白,不过这个博客解释挺清楚 同学前端面试遇到这么一个题目 :给数字添加千分位分隔符 一拿到他给的面试题,感觉挺容易的,不过等自己写后发现非常考虑逻辑,以及思维能力(我是小白)...
摘要:新增插件中搜索进行安装仓库地址使用方法安装中插件搜索框输入安装完毕后按或者输入可以看到正则列表或者输入关键词比如手机网页版支持的正则年月日更新迅雷链接链接宽松匹配磁力链接宽松匹配子网掩码文件夹路径文件路径下文件夹 新增vscode插件 vscode中搜索any-rule进行安装. 仓库地址: https://github.com/any86/any-... showImg(https:...
阅读 3560·2021-11-22 09:34
阅读 3168·2021-11-15 11:38
阅读 2862·2021-10-27 14:16
阅读 1190·2021-10-18 13:35
阅读 2396·2021-09-30 09:48
阅读 3354·2021-09-29 09:34
阅读 1522·2019-08-30 15:54
阅读 1787·2019-08-26 11:57