03_分隔符

本题考点:Math.abs、parseInt、split、reverse、join

根据题目要求,返回数字参数的千分位分隔符字符串,核心步骤有:

  1. 首先判断数字参数是否为负数,如果为负数,保留负号
  2. 将数字参数拆解为数组并且反转
  3. 遍历数组,返回新数组,需要标志位,每当数组遍历次数达到三次,给新数组添加","符号
  4. 拿到新数组之后使用将新数组拼接为字符串,如果有负号则将符号拼接到字符串头部

参考答案

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('')
}