写一个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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16