【vue】修改對象/數組屬性鍵名


1、對象屬性鍵名修改:

 1 data: {
 2     code: 0,
 3     text: '數據分析',
 4     plant: [],
 5 },
 6 // 把data下的plant改成children
 7 data: {
 8     code: 0,
 9     text: '數據分析',
10     children: [],
11 },

關鍵語句

1 let newData= JSON.parse(JSON.stringify(this.data).replace(/plant/g,"children"))

2、數組屬性鍵名修改:

 1 plant: [{
 2     plant_code: 1, 
 3     plant_name: "烘干車間",
 4     device:[], 
 5 },{
 6     plant_code: 2, 
 7     plant_name: "窯爐車間",
 8     device: Array(2), 
 9 }],
10 // 數組中屬性鍵名挨個修改成所需
11 // 把plant下的plant_code改成company_id、plant_name改成company_name、device改成children
12 plant: [{
13     company_id: 1, 
14     company_name: "烘干車間",
15     children:[], 
16 },{
17     company_id: 2, 
18     company_name: "窯爐車間",
19     children: Array(2), 
20 }],

關鍵語句

1 this.plant = this.plant.map(item=>({
2     company_id:item.children_code,
3     company_name:item.children_name,
4     children:item.device,
5 }))

 

現實需求
原始從后端獲取到的數據:

 1 res:{
 2     data: {
 3         company_id: 1001
 4         company_name: "包頭稀土園區"
 5         plant:  [{
 6             plant_code: 1, 
 7             plant_name: "烘干車間",
 8             device:[{
 9                 collection_device_name: "1#電表", 
10                 collection_device_code: 1
11             },{
12                 collection_device_name: "2#電表", 
13                 collection_device_code: 2
14             },{
15                 collection_device_name: "3#電表", 
16                 collection_device_code: 3
17             }], 
18         },{
19             plant_code: 2, 
20             plant_name: "窯爐車間",
21             device: Array(2), 
22         }],
23     }
24 }

輸出格式化,所有name變成company_name,所有葉子變成children:

 1 res:{
 2     data: {
 3         company_id: 1001
 4         company_name: "包頭稀土園區"
 5         children:  [{
 6             company_id: 1, 
 7             company_name: "烘干車間",
 8             children:[{
 9                 company_name: "1#電表", 
10                 company_id: 1
11             },{
12                 company_name: "2#電表", 
13                 company_id: 2
14             },{
15                 company_name: "3#電表", 
16                 company_id: 3
17             }], 
18         },{
19             company_id: 2, 
20             company_name: "窯爐車間",
21             children: Array(2), 
22         }],
23     }
24 }

關鍵語句

 1 // plant改成children
 2 let response = JSON.parse(JSON.stringify(res.data).replace(/plant/g,"children"))
 3 // 車間中所有鍵名修改
 4 if(response.children.length>0){
 5     response.children = response.children.map(item=>({
 6         company_id:item.children_code,
 7         company_name:item.children_name,
 8         children:item.device,
 9     }))
10     for (const i in response.children) {
11         if (response.children.hasOwnProperty(i)) {
12             response.children[i].children = response.children[i].children.map(item=>({
13                 company_id:item.collection_device_code,
14                 company_name:item.collection_device_name,
15             }))
16         }
17     }
18 }
19 console.log(response,'===');

此時的response已經是格式化好的了!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM