{
"PayInfo":[
{
"VisitNo":"936932",
"DeptName":"急诊科门诊",
"DeptCode":"0046",
"VisitDate":"2017122801:01:55",
"DoctorName":"张珊珊",
"DoctorNo":"1203",
"GHXH":"123121",
"YBDiseCodg":null,
"YBDiseName":null,
"DiagType":null,
"DiagSrtNo":null,
"DiagDept":null,
"DiseDorNo":null,
"DiseDorName":null,
"DiagTime":null,
"ValiFlag":null,
"Consume":"0.01",
"PayInfoDetails":[
{
"ItemNo":"936931",
"ItemName":"复方氯化钠注射液",
"Number":"4.00",
"Price":"2.5875",
"Consume":"10.35",
"CFID":"936931",
"DeptNo":null,
"DeptName":null,
"DoctorNo":null,
"DoctorName":null,
"Unit":null,
"Spec":"500ml/瓶",
"OperateTime":null,
"GJYBCodg":null,
"RxCircFlag":null,
"MedlistCodg":null,
"MedinslistCodg":null,
"HospApprFlag":null,
"MedlistName":null,
"MedlistSpc":null
}
],
"select":true
},
{
"VisitNo":"936933",
"DeptName":"急诊科门诊",
"DeptCode":"0046",
"VisitDate":"2017122800:59:35",
"DoctorName":"张珊珊",
"DoctorNo":"1203",
"GHXH":"123121",
"YBDiseCodg":null,
"YBDiseName":null,
"DiagType":null,
"DiagSrtNo":null,
"DiagDept":null,
"DiseDorNo":null,
"DiseDorName":null,
"DiagTime":null,
"ValiFlag":null,
"Consume":"0.01",
"PayInfoDetails":[
{
"ItemNo":"936931",
"ItemName":"复方氯化钠注射液",
"Number":"4.00",
"Price":"2.5875",
"Consume":"10.35",
"CFID":"936931",
"DeptNo":null,
"DeptName":null,
"DoctorNo":null,
"DoctorName":null,
"Unit":null,
"Spec":"500ml/瓶",
"OperateTime":null,
"GJYBCodg":null,
"RxCircFlag":null,
"MedlistCodg":null,
"MedinslistCodg":null,
"HospApprFlag":null,
"MedlistName":null,
"MedlistSpc":null
}
],
"select":true
}
],
"PayInfoDetail":[
"<Circular: @.PayInfo[0].PayInfoDetails>",
"<Circular: @.PayInfo[1].PayInfoDetails>"
]
}
上面的代码,其中PayInfoDetail是把上面的PayInfo中的PayInfoDetails分别拿出来又组到一起的一个数组,能过下面的代码实现的:
let PayInfoDetailOrg=[]
this.HISOrder.map(m=> {
m.PayInfoDetails.map(n=>{
PayInfoDetailOrg.push(n)
})
})
但是为什么我拿到的数据变成了
"PayInfoDetail":[
"<Circular: @.PayInfo[0].PayInfoDetails>",
"<Circular: @.PayInfo[1].PayInfoDetails>"
]
这样子?
有人遇到过没?
"<Circular: @.PayInfo[0].PayInfoDetails>",
表示"<Circular: @.PayInfo[0].PayInfoDetails>
, Circular表示循环, 是说"PayInfo" 的 JSON 数组对象,并且将其子项 "PayInfoDetails" 作为其循环引用的目标。
"<Circular: @.PayInfo[0].PayInfoDetails>
表示了,解决办法
json-cyclic
这个插件不要用map, 他有特殊的功能, 只是遍历用forEach
定义一个数据来 push 没问题,用 map 代替 forEach 也没问题,不过我还是想说,这其实是一个 flatMap 可以解决的事情
const PayInfoDetailOrg = this.PayInfo.flatMap(m => m.PayInfoDetails);
如果这样写的话,得到的每个元素就是 PayInfoDetails 中的对象,不过我看题上的输出的内容,应该是还处理过的吧。有点像是想把它处理成 XML 的样子
这种问题检查代码吧,基本就是代码书写的低级错误
请把this.HISOrder copy出来
如果你用 push 的话,这里应该用 forEach
而不是用 map
吧
用 map
可以试试 flat
PayInfoDetailOrg = this.HISOrder.map(m=> {
return m.PayInfoDetails
}).flat()
处理成 [11,1201,1304,1305]
本文向大家介绍JavaScript及jquey实现多个数组的合并操作,包括了JavaScript及jquey实现多个数组的合并操作的使用技巧和注意事项,需要的朋友参考一下 1、原生的JavaScript实现 我要合并后变成下面这样: 可以使用 2、Jquery实现
本文向大家介绍js数组的操作指南,包括了js数组的操作指南的使用技巧和注意事项,需要的朋友参考一下 1、数组的创建 要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。 2、数组的元素的访问 3、数组元素的添加 4、数组元素的删除 5、数组的截取和合并 6、数组的拷贝 7、数组元素
本文向大家介绍JavaScript数组操作详解,包括了JavaScript数组操作详解的使用技巧和注意事项,需要的朋友参考一下 1、数组的创建 要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。 2、数组的元素的访问 3、数组元素的添加 代码 4、数组元素的删除 5、数组的截取和
本文向大家介绍javascript 数组操作详解,包括了javascript 数组操作详解的使用技巧和注意事项,需要的朋友参考一下 1、数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度 var arrayObj = new Array([elem
本文向大家介绍JavaScript jQuery 中定义数组与操作及jquery数组操作,包括了JavaScript jQuery 中定义数组与操作及jquery数组操作的使用技巧和注意事项,需要的朋友参考一下 首先给大家介绍javascript jquery中定义数组与操作的相关知识,具体内容如下所示: 1.认识数组 数组就是某类数据的集合,数据类型可以是整型、字符串、甚至是对象 Javascr