题解 | #分隔符#
分隔符
https://www.nowcoder.com/practice/e5696992841841a8ab9d026324e4bb77
<!-- 描述 请补全JavaScript代码,要求返回参数数字的千分位分隔符字符串 示例1 输入: _comma(12300) 输出:'12,300' --> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <style> /* 填写样式 */ </style> </head> <body> <!-- 填写标签 --> <script type="text/javascript"> // 填写JavaScript function _comma(number) { // 补全代码 /* number转成字符串 */ var str = String(number); /*排除3位数*/ if(number >= -999 && number <= 999){ return str } /*转成数组,每一个数组中的元素对应一个数字 */ var strArr = str.split('') /*反转数组为加','做准备 */ strArr = strArr.reverse() /*反转数组后只,只要每隔3个下标就加一个',',即找出可以被3整除的下标并放入数组中,注意排除下标0*/ var indexArr = [] for(let i = 0; i<strArr.length ;i++){ if(i%3 === 0 && i!=0){ indexArr.push(i) } } /*如果下标数组有值,就给依次在这些下标的位置加上',',注意每次加上一个逗号后数组就增加一个长度了,下次再加逗号时需要将下标+1,依次类推,即代码中indexArr[i]+(i)*/ if(indexArr.length){ for(let i=0 ;i<indexArr.length;i++){ strArr.splice(indexArr[i]+(i),0,',') } return strArr.reverse().join(''); }else{ return str; } } console.log(_comma(1234567)); console.log(_comma(-123)); </script> </body> </html
KK学习前端之js答题过程 文章被收录于专栏
记录自己学习前端的各个过程,定期复盘,努力提高自己。 此专栏为自己的js答题记录。 欢迎各位一起沟通与讨论。