题目
给一个数字,隔三位加一个逗号之后以字符串形式输出(eg:2333333 -> 2,333,333)
code1
function translate(number) {
let s = '' + number
const arr = []
let count = 0
for (let i = s.length - 1; i >= 0; i--) {
if (count && count % 3 === 0) {
arr.unshift(',')
}
arr.unshift(s[i])
count++
}
return arr.join('')
}
code2(使用正则)
// 将数字字符串每隔三位打点,然后返回
function translate(str) {
if (typeof str !== 'string') {
throw new Error(`${str} is not a string`)
}
return str.replace(/\B(?=(\d{3})+(?!\d))/g, ',')
}