写一个js函数,实现对一个数字每3位加一个逗号

2021-09-21 13:27:34 面试题 小于 1 分钟

写一个js函数,实现对一个数字每3位加一个逗号,如输入 100000, 输出100,000(不考虑负数,小数)

# 解题思路

按现实思路解题,现实中添加千位分隔符是从后到前,每3位添加逗号所以:

  • 输入数据转换成字符串后,利用slice方法的输入负数参数从后取的特点,从后取 三 位数字保存在数组中,
  • 把取剩后的数据递归重复取值,直到数据不足3位,把 剩 下一起存入数组中。
  • 这时数组中按顺序保存从后到前的分割数据。
  • 实例中数组是[‘789’,’456’,’123’],通 过reverse方法倒叙输出,并通过join方法添加逗号。

# 代码实现

var arr = [];
function main(num) {
    if(num==null) return;
    var n = parseInt(num).toString();
    s(n);
}
function s(num) {
    if (num.length>3){
        arr[arr.length] = num.slice(-3);
        s(num.slice(0,-3));
    }else {
        arr[arr.length] = num;
    }
}
main(123456);
console.log(arr.reverse().join(",")); // 123,456
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
上次编辑于: 2023年7月4日 09:36