复杂map数据转换记录

2020-07-14  本文已影响0人  一个健康马

var m = new Map([
["table0col0", {colIndex: 0, colType: 8, colName: "锁定设置"}],
["table0col1", {colIndex: 1, colType: 4, colName: "文本"}],
["table0col2", {colIndex: 2, colType: 5, colName: "数例"}],
["table1col0", {colIndex: 0, colType: 8, colName: "锁定设置"}],
["table1col1", {colIndex: 1, colType: 7, colName: "公式"}],
["table1col2", {colIndex: 2, colType: 5, colName: "数例"}]
])
var target = new Map([
["table0", new Map( [
["0", {colIndex: 0, colType: 8, colName: "锁定设置"}],
["1", {colIndex: 1, colType: 4, colName: "文本"}],
["2", {colIndex: 2, colType: 5, colName: "数例"}]
])],
["table1", new Map( [
["0", {colIndex: 0, colType: 8, colName: "锁定设置"}],
["1", {colIndex: 1, colType: 7, colName: "公式"}],
["2", {colIndex: 2, colType: 5, colName: "数例"}]
])]
])
var targets = new Map();
let mark=''
let objarr={}
m.forEach((value,key)=>{
let arr=key.split('col')
if(mark!==arr[0]&&!objarr[arr[0]]){
mark=arr[0]
objarr[mark]=[]
objarr[mark].push([arr[1],value])
}else {
objarr[mark].push([arr[1],value])
}
})

     for(let i in  objarr){
       targets.set(i,new Map(objarr[i]))
     }
     console.log(targets)
上一篇下一篇

猜你喜欢

热点阅读