Javascript 当析构函数数组删除项时,Eslint将变量标记为未使用

Javascript 当析构函数数组删除项时,Eslint将变量标记为未使用,javascript,eslint,destructuring,Javascript,Eslint,Destructuring,我在Javascript中有以下函数 remove(item) { [item, ...this.list] = this.list } 代码从列表中删除一项,效果很好 问题是eslint正在将项标记为未使用的变量 我知道我可以在行级别抑制此错误,或者一起抑制no unused vars。但我想知道是否有更优雅的方式 毕竟,使用了变量,为什么eslint会报告该错误 毕竟,使用了变量 不是,;您再也不会引用项,因此它被正确检测为未使用 您需要完全省略逗号前的前导项: remove(it

我在Javascript中有以下函数

remove(item) {
    [item, ...this.list] = this.list
}
代码从列表中删除一项,效果很好

问题是eslint正在将
标记为未使用的变量

我知道我可以在行级别抑制此错误,或者一起抑制
no unused vars
。但我想知道是否有更优雅的方式

毕竟,使用了变量,为什么eslint会报告该错误

毕竟,使用了变量

不是,;您再也不会引用
,因此它被正确检测为未使用

您需要完全省略逗号前的前导项:

remove(item) {
    [, ...this.list] = this.list
}
但这看起来很奇怪。有些人可能会考虑:

remove(item) {
    this.list = this.list.slice(1);
}

它没有被使用,您可以删除
(项目)
,它不会影响代码OK谢谢。事实上,我的代码并没有真正做到我想要的。我想从列表中删除项目
item
。相反,它总是删除第一项。所以我需要修复代码(eslint试图告诉我一些我不想听的事情)。