接口返回数据是这样的
实际页面展示的样式可能表格在上面,基本信息在下面,需要处理一下数据
sortObj(){
//对象转换成数组
let arr = [];
let obj=this.billData;
for (var i in obj) {
arr.push([obj[i],i]);
};
//交换位置
arr.forEach((item,index)=>{
if(item[0].constructor===Object){
[arr[0],arr[index]] = [arr[index],arr[0]];
}
if(item[1]=='附件'){
[arr[1],arr[index]] = [arr[index],arr[1]];
}
})
//再转为对象
var len = arr.length;
var obj2 = {};
for (var i = 0; i < len; i++) {
obj2[arr[i][1]] = arr[i][0];
}
this.billData=obj2;
}
知识点
1.利用结构来交换位置
[arr[0],arr[index]] = [arr[index],arr[0]];
意思是把右边的值赋给左边对应的位置
2.for (let k in obj) 循环对象
for(let k in this.billData['询价单']){
if(this.billData['询价单'][k]===0 ){
this.billData['询价单'][k]='0';
}
if(this.billData['询价单'][k]===1 ){
this.billData['询价单'][k]='1';
}
}
- 0与‘’相等,要用全等来判断===
- 接口返回的数字0与字符串‘0’不相等,与false等同,需要将数字0转换成字符串格式的