树形数据生成(prisonId与id不关联的情况)

 需要转换的数据格式

let objData = [//数据类型格式
			{
				"name": "104房间",
				"prisonId": "1",
				"prisonName": "第一区域",
				"id": "104",
				"personNum": "3",
				"prisonRoomTypeName": "普通房间"
			},
			{
				"name": "112房间",
				"prisonId": "1",
				"prisonName": "第一区域",
				"id": "112",
				"personNum": "0",
				"prisonRoomTypeName": "普通房间"
			},
			{
				"name": "113房间",
				"prisonId": "1",
				"prisonName": "第一区域",
				"id": "113",
				"personNum": "0",
				"prisonRoomTypeName": "普通房间"
			},
			{
				"name": "114房间",
				"prisonId": "1",
				"prisonName": "第一区域",
				"id": "114",
				"personNum": "0",
				"prisonRoomTypeName": "普通房间"
			},
			{
				"name": "201房间",
				"prisonId": "2",
				"prisonName": "第二区域",
				"id": "201",
				"personNum": "2",
				"prisonRoomTypeName": "普通房间"
			},
			{
				"name": "202房间",
				"prisonId": "2",
				"prisonName": "第二区域",
				"id": "202",
				"personNum": "0",
				"prisonRoomTypeName": "普通房间"
			},
			{
				"name": "203房间",
				"prisonId": "2",
				"prisonName": "第二区域",
				"id": "203",
				"personNum": "0",
				"prisonRoomTypeName": "普通房间"
			},
			{
				"name": "210房间",
				"prisonId": "2",
				"prisonName": "第二区域",
				"id": "210",
				"personNum": "0",
				"prisonRoomTypeName": "普通房间"
			},
			{
				"name": "312房间",
				"prisonId": "3",
				"prisonName": "第三区域",
				"id": "312",
				"personNum": "0",
				"prisonRoomTypeName": "普通房间"
			},
			{
				"name": "313房间",
				"prisonId": "3",
				"prisonName": "第三区域",
				"id": "313",
				"personNum": "0",
				"prisonRoomTypeName": "普通房间"
			},
			{
				"name": "401房间",
				"prisonId": "4",
				"prisonName": "第四区域",
				"id": "401",
				"personNum": "0",
				"prisonRoomTypeName": "普通房间"
			},
			{
				"name": "409房间",
				"prisonId": "4",
				"prisonName": "第四区域",
				"id": "409",
				"personNum": "0",
				"prisonRoomTypeName": "普通房间"
			},
			{
				"name": "501房间",
				"prisonId": "5",
				"prisonName": "第五区域",
				"id": "501",
				"personNum": "0",
				"prisonRoomTypeName": "普通房间"
			},
			{
				"name": "514房间",
				"prisonId": "5",
				"prisonName": "第五区域",
				"id": "514",
				"personNum": "0",
				"prisonRoomTypeName": "普通房间"
			},
			{
				"name": "601房间",
				"prisonId": "6",
				"prisonName": "第六区域",
				"id": "601",
				"personNum": "0",
				"prisonRoomTypeName": "普通房间"
			},
			{
				"name": "701房间",
				"prisonId": "7",
				"prisonName": "第七区域",
				"id": "701",
				"personNum": "0",
				"prisonRoomTypeName": "普通房间"
			},
			{
				"name": "702房间",
				"prisonId": "7",
				"prisonName": "第七区域",
				"id": "702",
				"personNum": "0",
				"prisonRoomTypeName": "普通房间"
			},
			{
				"name": "801房间",
				"prisonId": "8",
				"prisonName": "第八区域",
				"id": "801",
				"personNum": "0",
				"prisonRoomTypeName": "普通房间"
			},
			{
				"name": "802房间",
				"prisonId": "8",
				"prisonName": "第八区域",
				"id": "802",
				"personNum": "0",
				"prisonRoomTypeName": "普通房间"
			},
			{
				"name": "814房间",
				"prisonId": "8",
				"prisonName": "第八区域",
				"id": "814",
				"personNum": "0",
				"prisonRoomTypeName": "普通房间"
			},
			{
				"name": "4区特殊房间1",
				"prisonId": "4",
				"prisonName": "第四区域",
				"id": "4009",
				"personNum": "0",
				"prisonRoomTypeName": "普通房间"
			},
			{
				"name": "4区特殊房间2",
				"prisonId": "4",
				"prisonName": "第四区域",
				"id": "4010",
				"personNum": "0",
				"prisonRoomTypeName": "普通房间"
			},
			{
				"name": "单人房间6001",
				"prisonId": "6",
				"prisonName": "第六区域",
				"id": "6001",
				"personNum": "0",
				"prisonRoomTypeName": "普通房间"
			},
			{
				"name": "6区特殊房间2",
				"prisonId": "6",
				"prisonName": "第六区域",
				"id": "6010",
				"personNum": "0",
				"prisonRoomTypeName": "普通房间"
			}
		]
		

转换方法
        

let valData = []
valData = listToTree(objData)
//转换数据为树形数据
function listToTree(dataSource) {
let objOut = [];//晒选出父级菜单类别
let group =[];//存放父级菜单
for (let i of dataSource) {
	const pid = i.prisonId;
	if (objOut.indexOf(pid) == -1) {
		objOut.push(i.prisonId)
		group.push({//可自由设置父级菜单样式
			id: i.prisonId,
			name: i.prisonName,
			children:[]
			})
		}
	}
	for (let isY of group) {
		const resultArr = dataSource.filter((ele) => {
			return ele.prisonId == isY.id;
		});
		isY.children=resultArr
	}
return group
}
console.log(valData)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值