1、业务场景:在开发业务时,有一个对象数组,对象数组有一个字段是数字,我需要筛选出这个数组对应的数字字段的最大值,于是用到了如下代码:
Math.max.apply(Math,mayArr.map((item:{score:number})=> return item.score)
2、eslint报错如下:使用展开操作符替代.apply()

2、报错原因:
查看eslint文档内容如下:
在ES2015以前,你必须使用Function.prototype.apply()来调用可变函数。在ES2015以后,你可以使用展开操作符来调用可变函数。
3、找到原因之后就可以知道如下修改这个报错了,修改如下:
Math.max(...myArr.map((item: { score: number }) => {
return item.score;
}));
在JavaScript开发中,遇到需要找出对象数组中数字字段的最大值时,原始代码使用了`Math.max.apply()`方法。然而,ESLint提示应使用展开运算符(`...`)来替代。根据ES2015的更新,展开运算符可以更简洁地完成相同任务,避免了使用`apply()`。因此,将代码修改为使用展开运算符,修复了eslint报错,同时提高了代码可读性。
2120





