在地图函数打字稿中未使用索引时,摆脱eslint @ typescript-eslint / no-unused-vars错误

问题描述

我得到了以下代码

const reducer = (element:number,index: number) => [element]; //es lint error.
const positionsArray = $.map(this.positions,reducer);

我正在将Float32Array(它是this.positions)转换为js数组。 我得到错误: 定义了“索引”,但从未使用过。eslint@ typescript-eslint / no-unused-vars

我无法应用“ // eslint-disable-line no-unused-vars”(顺便说一句,我认为这不是一个令人愉快的解决方案)

对于这种我不需要索引的情况,如何摆脱此错误?我检查了reduce并尝试检索累加器,但没有实现。 谢谢。

编辑: 如果我没有定义索引,则会出现此错误

enter image description here

解决方法

不定义参数。 TypeScript和JavaScript都不要求您使用回调可能接受的所有参数。

您还可以通过调用迭代器将类型化的数组转换为普通数组-看起来jQuery的.map的行为不佳,因此请使用纯JS:

const positionsArray = [...this.positions].map(element => [element]);

如果只想从类型化数组中获取一个普通数组,请不要使用.map,而只需调用迭代器即可:

const positionsArray = [...this.positions];