js 复杂参数结构分析

问题:对于复杂的参数结构,我们一般要怎么处理呢?比如:

{
  "orgId": 0,
  "outpClinicAreaId": 0,
  "roomList": [
    {
      "deskList": [
        {
          "locationId": 0,
          "memo": "string",
          "outpClinicDeskId": 0,
          "outpClinicDeskName": "string",
          "outpClinicRoomId": 0
        }
      ],
      "locationId": 0,
      "memo": "string",
      "outpClinicAreaId": 0,
      "outpClinicRoomId": 0,
      "outpClinicRoomName": "string"
    }
  ],
  "triageServiceClassCode": 0
}

我们需要给后端传这样结构的参数,那么,如果组合呢?
首先: roomList 是一个对象数组,即数组中的每一项都是对象;
所以, roomList 一定是数组遍历然后push一个对象

首先我们简化下参数结构:

{
  "orgId": 0,
  "outpClinicAreaId": 0,
  "roomList": [],
  "triageServiceClassCode": 0
}

其实只有四个字段,不过roomList是一个数组,而且是一个嵌套数组,我们继续往下拆:

roomList: [{
 	deskList: [
		{
    	locationId: 0,
     	memo: "string",
     	outpClinicDeskId: 0,
      	outpClinicDeskName: "string",
      	outpClinicRoomId: 0
      	}
 	]
 	locationId: 0,
    memo: "string",
    outpClinicAreaId: 0,
    outpClinicRoomId: 0,
    outpClinicRoomName: "string"
  }]

而deskList也是一个数组:

{
 	deskList: []
 	locationId: 0,
    memo: "string",
    outpClinicAreaId: 0,
    outpClinicRoomId: 0,
    outpClinicRoomName: "string"
}

所以最终我们可以这里来组合这种参数结构:
分两步:
(1):组织deskList 数组

{
  orgId: 0,
  outpClinicAreaId: 0,
  roomList: [{
 	deskList: this.deskListData
 	locationId: 0,
    memo: "string",
    outpClinicAreaId: 0,
    outpClinicRoomId: 0,
    outpClinicRoomName: "string"
  }],
  "triageServiceClassCode": 0
}

(2) 组织roomList 数组

{
  orgId: 0,
  outpClinicAreaId: 0,
  roomList: this.roomListData
  "triageServiceClassCode": 0
}

而 this.deskListData 可以通过遍历 this.multipleSelectionList 这个数组来获得

saveClinicAreaInfo () {
	let deskDataList = []
	this.multipleSelectionDeskList.forEach(item => {
	  deskDataList.push({
	    locationId: this.associatedPosition || null,
	    memo: '',
	    outpClinicDeskId: 0,
	    outpClinicDeskName: item.outpClinicDeskName,
	    outpClinicRoomId: item.outpClinicRoomId
	  })
	})

而 roomList 这个数组可以这样来组合:

this.multipleSelectionRoomList.forEach(item => {
    this.roomDataList.push({
       deskList: deskDataList,
       locationId: item.locationId,
       memo: '',
       outpClinicAreaId: this.editClinicDeskRowdata.outpClinicDeskId,
       outpClinicRoomId: item.outpClinicRoomId,
       outpClinicRoomName: item.outpClinicRoomName
     })
   })
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值