在Javascript中调用方法而不写入参数的快捷方式

在Javascript中调用方法而不写入参数的快捷方式,javascript,html,reactjs,loops,ecmascript-6,Javascript,Html,Reactjs,Loops,Ecmascript 6,以下是我需要澄清的代码。我希望这段代码能够一个接一个地处理“mango”、“apple”、“orange”,类似于选项2,但这会抛出另一个输入,我不知道JavaScript是如何抛出这个输出的 const myFunc=…data=>data.mapconsole.log myFunc'mango'、'apple'、'orange'您的代码运行良好,应该可以为其他函数生成预期的结果。 接受回调函数,它将为数组的每个元素调用该函数。MDN: 回调函数接受以下参数: 当前值 数组中正在处理的当前元

以下是我需要澄清的代码。我希望这段代码能够一个接一个地处理“mango”、“apple”、“orange”,类似于选项2,但这会抛出另一个输入,我不知道JavaScript是如何抛出这个输出的

const myFunc=…data=>data.mapconsole.log myFunc'mango'、'apple'、'orange'您的代码运行良好,应该可以为其他函数生成预期的结果。 接受回调函数,它将为数组的每个元素调用该函数。MDN:

回调函数接受以下参数:

当前值 数组中正在处理的当前元素

指数选择 数组中正在处理的当前元素的索引

阵列可选 已调用数组映射

由于您将console.log作为回调函数传递,因此您实际上编写了以下内容:

const myFunc=…data=>data.mapcurVal,index,arr=>console.logcurVal,index,arr myFunc'mango'、'apple'、'orange'您的代码运行良好,应该可以为其他函数生成预期的结果。 接受回调函数,它将为数组的每个元素调用该函数。MDN:

回调函数接受以下参数:

当前值 数组中正在处理的当前元素

指数选择 数组中正在处理的当前元素的索引

阵列可选 已调用数组映射

由于您将console.log作为回调函数传递,因此您实际上编写了以下内容:

const myFunc=…data=>data.mapcurVal,index,arr=>console.logcurVal,index,arr myFunc'mango'、'apple'、'orange'console.log接受多个参数

您可以将函数包装到另一个函数中,并且只使用第一个参数

如果不使用map的结果,则forEach更好

const single=fn=>first=>fnfirst; var myFunc=…data=>{ data.forEachsingleconsole.log; } myFunc'mango'、'apple'、'orange'console.log接受多个参数

您可以将函数包装到另一个函数中,并且只使用第一个参数

如果不使用map的结果,则forEach更好

const single=fn=>first=>fnfirst; var myFunc=…data=>{ data.forEachsingleconsole.log; } myFunc‘芒果’、‘苹果’、‘橙色’选项1中的输出将为:-

mango 0 (3) ["mango", "apple", "orange"]
apple 1 (3) ["mango", "apple", "orange"]
orange 2 (3) ["mango", "apple", "orange"]
这是因为以下两个原因:-

map方法创建一个新数组,其结果是为每个数组元素调用一个函数。 map方法按顺序为数组中的每个元素调用一次提供的函数。

选项1中的输出为:-

mango 0 (3) ["mango", "apple", "orange"]
apple 1 (3) ["mango", "apple", "orange"]
orange 2 (3) ["mango", "apple", "orange"]
这是因为以下两个原因:-

map方法创建一个新数组,其结果是为每个数组元素调用一个函数。 map方法按顺序为数组中的每个元素调用一次提供的函数。

以下是map在引擎盖下的作用:

函数mapa,f{ var b=新的Arraya.length; 对于设i=0;i 函数mapa,f{ var b=新的Arraya.length; 对于设i=0;i;console.log接受多个参数。因为它是console.logcurrentValue,index,array不是一个精确的复制品,但非常相似,值得关注:console.log接受多个参数。因为它是console.logcurrentValue,index,Arrayn不是一个精确的复制品,但非常相似,值得关注:非常感谢分享最佳实践:+1A快速查询,使用spread运算符接受多个参数是明智的还是我们应该避免这种方法?@Nesh,这取决于。。。抱歉。@Nesh,当在参数列表中使用时,它是一个。这是一种语言特性,如果您的目标是接受完全任意数量的参数,则绝对应该使用它。如果您知道参数的数量,应该明确指定它们。非常感谢您分享最佳实践:+1A快速查询,是建议使用spread运算符接受多个参数,还是我们应该避免这种方法?@Nesh,这取决于。。。抱歉。@Nesh,当在参数列表中使用时,它是一个。这是一种语言特性,如果您的目标是接受完全任意数量的参数,则绝对应该使用它。如果知道参数的数量,则应明确指定这些参数。