原数组
[
{
"name":111,
"data": [
{
"code": "vivo20220218IM",
"itemName": "vivo2018-2019赛季NBA整合营销项目Pitch",
"year": 2021,
"conamount": [
{
"month": 1,
"amount": 111
},
{
"month": 2,
"amount": 222
}
],
"targetGi": "487898.00",
"realOutpay": "488.00"
}
],
"customerTotal": {
"conamount": [
{
"month": 1,
"amount": 0
},
{
"month": 2,
"amount": 0
}
],
"targetGi": "487898.00",
"realOutpay": "488.00"
}
},
{
"name":222,
"data": [
{
"code": "vivo20220218IM",
"itemName": "vivo2018-2019赛季NBA整合营销项目Pitch",
"year": 2022,
"conamount": [
{
"month": 1,
"amount": 111
},
{
"month": 2,
"amount": 222
}
],
"targetGi": "487898.00",
"realOutpay": "488.00"
}
],
"customerTotal": {
"conamount": [
{
"month": 1,
"amount": 0
},
{
"month": 2,
"amount": 0
}
],
"targetGi": "487898.00",
"realOutpay": "488.00"
}
}
]
通过function把想要的字段改成千分符字符串
/**换算千分钱格式 */
formatNum(num) {
let nub = Number(num);
let str = nub + '',
intSum = str.substring(0,str.indexOf(".")).replace( /\B(?=(?:\d{3})+$)/g, ',' ),//取到整数部分
dot = str.substring(str.length,str.indexOf(".")),//取到小数部分
ret = intSum + dot; //拼到一起
return ret;
},
改后
[
{
"name":111,
"data": [
{
"code": "vivo20220218IM",
"itemName": "vivo2018-2019赛季NBA整合营销项目Pitch",
"year": 2021,
"conamount": [
{
"month": 1,
"amount": "111"
},
{
"month": 2,
"amount": "222"
}
],
"targetGi": "487,898.00",
"realOutpay": "488.00"
}
],
"customerTotal": {
"conamount": [
{
"month": 1,
"amount": "0"
},
{
"month": 2,
"amount": "0"
}
],
"targetGi": "487,898.00",
"realOutpay": "488.00"
}
},
{
"name":222,
"data": [
{
"code": "vivo20220218IM",
"itemName": "vivo2018-2019赛季NBA整合营销项目Pitch",
"year": 2022,
"conamount": [
{
"month": 1,
"amount": "111"
},
{
"month": 2,
"amount": "222"
}
],
"targetGi": "48,7898.00",
"realOutpay": "488.00"
}
],
"customerTotal": {
"conamount": [
{
"month": 1,
"amount": "0"
},
{
"month": 2,
"amount": "0"
}
],
"targetGi": "48,7898.00",
"realOutpay": "488.00"
}
}
]
假如上面的数据保存在变量
list
中,那么就是一个循环,再嵌套一个循环就可以解决的啊不过那个格式化数字的函数好像有问题,格式不出来,可以用下面这一个
由于两个对象结构差不多,处理语句是一样的,所以可以提取函数