let arr = [
{
"cityNo": "1516588857",
"cityName": "北区",
"branchNo": "69174749",
"branchName": "郑州",
"gridNo": "66614",
"gridName": "郑州中原"
},
{
"cityNo": "1516588857",
"branchNo": "69174749",
"gridNo": "66613",
"cityName": "北区",
"branchName": "郑州",
"gridName": "郑州CBD"
},
{
"cityNo": "1516588856",
"branchNo": "69174690",
"gridNo": "66340",
"cityName": "南区",
"branchName": "武汉",
"gridName": "武汉楚河汉街"
},
{
"cityNo": "1516588857",
"branchNo": "69174648",
"gridNo": "66904",
"cityName": "北区",
"branchName": "沈阳",
"gridName": "沈阳铁西"
},
{
"cityNo": "1516588857",
"branchNo": "69174684",
"gridNo": "66194",
"cityName": "北区",
"branchName": "北京",
"gridName": "北京CBD"
},
{
"cityNo": "1516588858",
"cityName": "东区",
"branchNo": "69174687",
"branchName": "上海",
"gridNo": "66274",
"gridName": "上海五角场"
},
]
let newArr = []
for (var i = 0; i < arr.length; i++) {
// console.log(arr[i])
newArr[0] = { value: "全部", id: "-1" }
if (arr[i].cityName == "北区") {
newArr[1] = { value: "北区", id: arr[i].cityNo, child: [] }
} else if (arr[i].cityName == "南区") {
newArr[2] = { value: "南区", id: arr[i].cityNo, child: [] }
} else if (arr[i].cityName == "东区") {
newArr[3] = { value: "东区", id: arr[i].cityNo, child: [] }
} else {
newArr[4] = { value: "西区", id: arr[i].cityNo, child: [] }
}
}
for (var i = 0; i < arr.length; i++) {
for (var k = 0; k < newArr.length; k++) {
if (arr[i].cityName === newArr[k].value) {
newArr[k].child[0] = { value: '全部', id: '-1' }
newArr[k].child.push({ value: arr[i].branchName, id: arr[i].branchNo })
let map = new Map()
for (let item of newArr[k].child) {
if (!map.has(item.id)) {
map.set(item.id, item);
};
}
newArr[k].child = [...map.values()];
}
}
}
for (var i = 0; i < arr.length; i++) {
for (var k = 0; k < newArr.length; k++) {
if (newArr[k].child) {
for (var p = 1; p < newArr[k].child.length; p++) {
newArr[k].child[p].child = []
}
}
}
}
for (var i = 0; i < arr.length; i++) {
for (var k = 0; k < newArr.length; k++) {
if (newArr[k].child) {
for (var p = 1; p < newArr[k].child.length; p++) {
newArr[k].child[p].child[0] = { value: '全部', id: '-1' }
if (arr[i].branchName == newArr[k].child[p].value) {
newArr[k].child[p].child.push({ value: arr[i].gridName, id: arr[i].gridNo })
}
}
}
}
}
console.log(newArr)
console