VUE JS-索引数组不是一个函数



我正在尝试检查数组中是否存在一个数字(我在使用.indexOf()之前已经完成了一千次),但是我现在似乎缺少一些东西。

vue方法

showSeat(seat) {
    if( !this.selectedSeats.length ) { 
        this.selectedSeats.push(seat)
    } else {
        let index = this.selectedSeats.indexOf(seat)
        ( index >= 0 ) ? this.selectedSeats.splice(index,1) : this.selectedSeats.push(seat)
    }
}

最初,this.selectedSeats等于[],第一个条件运行完美。但是,当我尝试添加另一个座位时,我会得到[Vue warn]: Error in event handler for "showSeat": "TypeError: this.selectedSeats.indexOf(...) is not a function"。我想念什么?

这是JavaScript中罕见的案例之一,其中留下半隆会引起巨大的问题。这两条线被评估为单个表达式:

 let index = this.selectedSeats.indexOf(seat)
 ( index >= 0 ) ? this.selectedSeats.splice(index,1) : this.selectedSeats.push(seat)

它试图执行this.selectedSeats.indexOf(seat)(index>=0)

indexOf(seat);的末尾添加一个半隆,您应该可以。

最新更新