gpt4 book ai didi

javascript - Vue JS - indexOf 数组不是函数

转载 作者:行者123 更新时间:2023-11-28 14:22:05 26 4
gpt4 key购买 nike

我正在尝试检查数组中是否存在数字(在使用 .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不是一个函数”。我错过了什么?

最佳答案

这是 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); 末尾添加一个分号; 应该没问题。

关于javascript - Vue JS - indexOf 数组不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54852794/

26 4 0
文章推荐: javascript - 我试图在 JavaScript 中添加三个数字的总和,但它给了我 NaN。为什么?
文章推荐: javascript - 使用 Jquery 从 div 中获取 url
文章推荐: javascript - 如何禁用 div 中的