为什么棉绒会出错"An argument for 'thisArg' was not provided"?



我想在这段代码中使用排列语法:

Math.min.apply( ...categories.map( cat => cat.category_id ) );

显示以下皮棉错误:

未提供"thisArg"的参数

如何在返回数组的函数上使用排列语法?

apply获取上下文和数组中的参数。所以使用这个,

Math.min.apply(null, categories.map( cat => cat.category_id ) ));

但是由于apply不使用上下文(请参阅此处的实现(,您应该简单地使用

Math.min(...categories.map( cat => cat.category_id ) ));

不要使用apply。

Math.min(...categories.map(c => c.category_id))

您的代码不正确。Function.apply首先执行除this参数之外的操作。例如:

Math.min.apply(Math, ...categories.map(cat => cat.category_id));

这里的问题是知道你是否真的需要使用apply。

总而言之,这只是一个"语法"错误。

最新更新