题解 | #分隔符#
分隔符
http://www.nowcoder.com/practice/e5696992841841a8ab9d026324e4bb77
03_分隔符
本题考点:Math.abs、parseInt、split、reverse、join
根据题目要求,返回数字参数的千分位分隔符字符串,核心步骤有:
- 首先判断数字参数是否为负数,如果为负数,保留负号
- 将数字参数拆解为数组并且反转
- 遍历数组,返回新数组,需要标志位,每当数组遍历次数达到三次,给新数组添加","符号
- 拿到新数组之后使用将新数组拼接为字符串,如果有负号则将符号拼接到字符串头部
参考答案:
function _comma(number) {
let negative = ''
if(number < 0) {
negative = '-'
number = Math.abs(number)
}
let array = parseInt(number).toString().split("").reverse()
let sign = 0
let commaArray = []
for(let i=0 ; i<array.length ; i++) {
if(sign === 3) {
commaArray.push(',')
sign = 0
}
commaArray.push(array[i])
sign ++
}
return negative + commaArray.reverse().join('')
}