我有以下JSON:
"memberValidations":
[
{
"field": "PRIMARY_EMAIL",
"errorCode": "com.endeavour.data.validation.PRIMARY_EMAIL",
"createdDateTime": null
},
{
"field": "lastName",
"errorCode": "com.endeavour.data.validation.lastName",
"createdDateTime": null
},
]
删除对象delete memberValidations[0];
我期待来自memberValidations[0];
的姓氏,但是取而代之的是未定义的?知道如何解决这个问题吗?
答案 0 :(得分:6)
使用delete
会从数组中删除该项,但不会对其进行有效调整,因此您仍然可以在索引0
处设置一个项目,但不再指定该项目(undefined
)。来自docs
删除数组元素时,数组长度不受影响。即使您删除了数组的最后一个元素,这也成立。
要完全删除该项目,您还需要调整阵列大小,例如
memberValidations.splice(0, 1)