Vue JS - indexOf 数组不是函数
Vue JS - indexOf array is not a function
我正在尝试检查数组中是否存在数字(在使用 .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);
末尾添加一个分号,你应该没问题。
我正在尝试检查数组中是否存在数字(在使用 .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);
末尾添加一个分号,你应该没问题。