一 方法:方法一的执行过程就是把数字转换成字符串后,打散为数组,再从末尾开始,逐个把数组中的元素插入到新数组(result)的开头。每插入一个元素,counter就计一次数(加1),当counter为3的倍数时,就插入一个逗号,但是要注意开头(i为0时)不需要逗号。最后通过调用新数组的join方法得出结果。
方法一比较清晰易懂,也在项目中用了一段时间。但是直觉告诉我,它的性能并不好。
unction(num){
let result=[],counter=0;
num=(num||0).toString().split('');
for(var i=num.length-1;i>=0;i--){
counter++;
result.unshift([num[i]]);
if(!(counter%3)&&i!=0){result.unshift(',')}
}
return result.join('')
}
二 方法:(方法一的字符串版)
unction(num) {
var result = '', counter = 0;
num = (num || 0).toString();
for (var i = num.length - 1; i >= 0; i--) {
counter++;
result = num.charAt(i) + result;
if (!(counter % 3) && i != 0) { result = ',' + result; }
}
return result;
}
网友评论