我正在尝试检查数组中是否存在对象。基本上我想要做的是如果一个对象存在然后从数组中删除它,或者将对象推入数组。但我总是收到错误。
从api返回的对象类型:
{
"id": 23,
"status": "Available",
"column_id": 5,
"row_id": 1
},
{
"id": 24,
"status": "Available",
"column_id": 6,
"row_id": 1
},
我正在使用Vue.js,每当点击一个对象时,在Vuex存储操作中,我正在检查该对象是否存在于数组中。但我总是收到一个错误:
未捕获的TypeError:无法读取属性' id'未定义的
store.js:
state: {
selectedSeats: [],
},
actions: {
getSelectedSeats(context, payload) {
let found = false;
if (context.state.selectedSeats.length < 1) {
console.log('empty');
context.commit('mutateSelectedSeat', payload);
}
else {
console.log('not empty');
for (let i = 0; i <= context.state.selectedSeats.length; i++) {
if (payload.id === context.state.selectedSeats[i].id) {
found = true;
break;
}
}
console.log('after loop');
if (found) {
console.log('found');
}
else {
console.log('not found');
}
}
}
}
但是,这样做并不会产生任何错误:
...
if (payload.id === context.state.selectedSeats[0].id) {
found = true;
...
我认为问题在于变量i
。但我不知道我在这里错过了什么?