【发布时间】:2020-10-10 00:26:05
【问题描述】:
我有一个这样的数组:
var arrSession = [ { name: 'Product 01', groupID: '50303', delivery: 'mail'}, { name: 'Product 02', groupID: '50403', delivery: 'bike'} ]
这个循环删除特定对象:
for(var i=0, len=arrSession.length; i<len; i++) {
if (arrSession[i].groupID == getGroupID && arrSession[i].delivery == getDelivery) {
arrSession.splice(i, 1);
}
}
如果我要删除最后一个对象,一切正常:
var getGroupID = 50403;
var getDelivery = bike;
但如果我要删除第一个对象:
var getGroupID = 50303;
var getDelivery = mail;
我收到一个错误:
TypeError: Cannot read property 'groupID' of undefined
为什么会这样以及如何解决?
编辑:
如果只有一个对象,一切都很好。
var arrSession = [ { name: 'Product 01', groupID: '50303', delivery: 'mail'} ]
【问题讨论】:
标签: javascript arrays splice array-splice