引用递增变量i

时间:2017-03-08 07:26:55

标签: javascript arrays vuejs2 vuex

我正在尝试检查数组中是否存在对象。基本上我想要做的是如果一个对象存在然后从数组中删除它,或者将对象推入数组。但我总是收到错误。

从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。但我不知道我在这里错过了什么?

0 个答案:

没有答案