后台传来的数据结构如下:
keyMap: [
{
key1_1: [
{value: "value2_1", key2_1: "key2_1"},
{value: "value2_2",key2_2:"key2_2"}
]
},
{
key1_2: [
{value: "value2_1", key2_1: "key2_1"},
{value: "value2_2",key2_2:"key2_2"}
]
}
]
数据处理的方法如下:
//模拟的数据
let keyMap = [
{
key1_1: [
{value: "value2_1", key: "key2_1"},
{value: "value2_2",key:"key2_2"}
]
},
{
key1_2: [
{value: "value2_1", key: "key2_1"},
{value: "value2_2",key:"key2_2"}
]
}
]
//方法
let formatData = (originData)=>{
let natDate = []
originData && Array.isArray(originData) && //容错
originData.map(n =>{
Object.keys(n).map((nKey)=>{
let newChildren = {
title:nKey,
key:nKey,
value:nKey,
}
if(Array.isArray(n[nKey])){
newChildren['children'] = n[nKey].map((cObj)=>{
return {
title:cObj.key,
key:cObj.value,
value:cObj.key,
}
})
}
natDate.push(newChildren)
})
})
return natDate;
}
let treeData = formatData(keyMap)
console.log(treeData)
上述代码运行结果如下:
[
{
title: 'key1_1',
key: 'key1_1',
value: 'key1_1',
children: [
{title: "key2_1", key: "value2_1", value: "key2_1"}
{title: "key2_2", key: "value2_2", value: "key2_2"}
]
},
{
title: 'key1_2',
key: 'key1_2',
value: 'key1_2',
children: [
{title: "key2_1", key: "value2_1", value: "key2_1"}
{title: "key2_2", key: "value2_2", value: "key2_2"}
]
}
]
如果对您有一丝的帮助,点个赞可好~