题解 | #分隔符#

分隔符

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答题记录。 欢迎各位一起沟通与讨论。

全部评论

相关推荐

07-23 18:25
河北大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务