<!--
描述
请补全JavaScript代码,要求返回参数数字的千分位分隔符字符串
示例1
输入: _comma(12300)
输出:'12,300'
-->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style>
/* 填写样式 */
</style>
</head>
<body>
<!-- 填写标签 -->
<script type="text/javascript">
// 填写JavaScript
function _comma(number) {
// 补全代码
/* number转成字符串 */
var str = String(number);
/*排除3位数*/
if(number >= -999 && number <= 999){
return str
}
/*转成数组,每一个数组中的元素对应一个数字 */
var strArr = str.split('')
/*反转数组为加','做准备 */
strArr = strArr.reverse()
/*反转数组后只,只要每隔3个下标就加一个',',即找出可以被3整除的下标并放入数组中,注意排除下标0*/
var indexArr = []
for(let i = 0; i<strArr.length ;i++){
if(i%3 === 0 && i!=0){
indexArr.push(i)
}
}
/*如果下标数组有值,就给依次在这些下标的位置加上',',注意每次加上一个逗号后数组就增加一个长度了,下次再加逗号时需要将下标+1,依次类推,即代码中indexArr[i]+(i)*/
if(indexArr.length){
for(let i=0 ;i<indexArr.length;i++){
strArr.splice(indexArr[i]+(i),0,',')
}
return strArr.reverse().join('');
}else{
return str;
}
}
console.log(_comma(1234567));
console.log(_comma(-123));
</script>
</body>
</html