JS 数组中对象覆盖问题
问题:数组中存放对象时,多次push的结果呈现总是最后一次添加的内容。
现象:
//第一次push对象
[
{
"FC_ATTACHMENT": [],
"FC_EXCEPTIONTYPE": "制程异常",
"FC_EXCEPTIONDATE": "2022-08-24",
"FC_EXCEPTIONTIME": "12:00",
"FC_EXCEPTIONSYMPTOM": "测试结构",
"FC_CREATEUSER": "***",
"FC_DTL_ID": "b425a87e-03df-47f9-810c-35f796acd2c1",
"FC_BARCODE": "123456789",
"FC_MODEL": "JY0001"
}
]
//第二次push不同对象
[
{
"FC_ATTACHMENT": [],
"FC_EXCEPTIONTYPE": "开机异常",
"FC_EXCEPTIONDATE": "2022-08-23",
"FC_EXCEPTIONTIME": "12:00",
"FC_EXCEPTIONSYMPTOM": "测试结构不同不同不同",
"FC_CREATEUSER": "***",
"FC_DTL_ID": "e7c39ed7-79e8-4c22-b696-b18d9ff3527b",
"FC_BARCODE": "123456789",
"FC_MODEL": "JY0001"
},
{
"FC_ATTACHMENT": [],
"FC_EXCEPTIONTYPE": "开机异常",
"FC_EXCEPTIONDATE": "2022-08-23",
"FC_EXCEPTIONTIME": "12:00",
"FC_EXCEPTIONSYMPTOM": "测试结构不同不同不同",
"FC_CREATEUSER": "***",
"FC_DTL_ID": "e7c39ed7-79e8-4c22-b696-b18d9ff3527b",
"FC_BARCODE": "123456789",
"FC_MODEL": "JY0001"
}
]
错误代码:
this.Tags.push(Obj);
解决方案:
this.Tags.push( JSON.parse(JSON.stringify(Obj)));//将对象进行简单结构,达到指向不同地址的目的
在JavaScript中,当数组中存储对象并多次使用`push`方法时,由于引用类型特性,会导致之前对象被覆盖。文章通过示例展示了这个问题,并提出了使用`JSON.parse(JSON.stringify(Obj))`来克隆对象,避免覆盖的解决方案。
2286

被折叠的 条评论
为什么被折叠?



