let arr = [
{
"cityNo": "1516588857",
"branchNo": "69174749",
"gridNo": "66614",
"cityName": "北区",
"branchName": "郑州",
"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",
"branchNo": "69174687",
"gridNo": "66274",
"cityName": "东区",
"branchName": "上海",
"gridName": "上海五角场"
},
]
var newArr = []
for (var i = 0; i < arr.length; i++) {
if (arr[i].cityName == '北区') {
newArr[0] = { value: '北区', id: arr[i].cityNo }
} else if (arr[i].cityName == '东区') {
newArr[1] = { value: '东区', id: arr[i].cityNo }
} else if (arr[i].cityName == '西区') {
newArr[2] = { value: '西区', id: arr[i].cityNo }
} else if (arr[i].cityName == '南区') {
newArr[3] = { value: '南区', id: arr[i].cityNo }
}
}
function trimSpace(array) {
for (var i = 0; i < array.length; i++) {
if (array[i] == " " || array[i] == null || typeof (array[i]) == "undefined") {
array.splice(i, 1);
i = i - 1;
}
}
return array;
}
let spArr = trimSpace(newArr)
for (var a = 0; a < spArr.length; a++) {
spArr[a].childs = []
}
spArr.unshift({ id: "-1", value: "全部", childs: [] })
for (var i = 0; i < arr.length; i++) {
for (var k = 0; k < spArr.length; k++) {
if (arr[i].cityName == spArr[k].value) {
spArr[k].childs[0] = { value: '全部', id: '-1' }
spArr[k].childs.push({ value: arr[i].branchName, id: arr[i].branchNo })
let map = new Map();
for (let item of spArr[k].childs) {
if (!map.has(item.id)) {
map.set(item.id, item);
};
};
spArr[k].childs = [...map.values()];
}
}
}
for (var i = 0; i < arr.length; i++) {
for (var l = 0; l < spArr.length; l++) {
for (var p = 0; p < spArr[l].childs.length; p++) {
spArr[l].childs[p].childs = []
}
}
}
for (var i = 0; i < arr.length; i++) {
for (var l = 0; l < spArr.length; l++) {
for (var p = 0; p < spArr[l].childs.length; p++) {
spArr[l].childs[p].childs[0] = { value: '全部', id: '-1' }
// console.log(spArr[l].childs[p]);
if (arr[i].branchName == spArr[l].childs[p].value) {
// console.log(spArr[l].childs[p].value);
spArr[l].childs[p].childs.push({ value: arr[i].gridName, id: arr[i].gridNo })
// console.log();
}
}
}
}
console.log(spArr);
console