Javascript 以箭头函数格式返回并传递回调
我想Javascript 以箭头函数格式返回并传递回调,javascript,callback,arrow-functions,Javascript,Callback,Arrow Functions,我想 返回一个箭头函数并 将一个箭头函数传递给另一个函数 代码: const NumberValue={ 大于0:i=>i>0, 小于0:i=>ii==0 }; 函数printStatistics(…a){ for(数值中的var键){ if(NumberValue.hasOwnProperty(键)){ console.log(key+“->”+sum(NumberValue[key],a)); } } } 函数和(回调,…a){ 返回a.filter(回调); } log(printSta
const NumberValue={
大于0:i=>i>0,
小于0:i=>i<0,
等于0:i=>i==0
};
函数printStatistics(…a){
for(数值中的var键){
if(NumberValue.hasOwnProperty(键)){
console.log(key+“->”+sum(NumberValue[key],a));
}
}
}
函数和(回调,…a){
返回a.filter(回调);
}
log(printStatistics(-5,5,4,3,2,1,0,-1))代码>尝试键入而不是“…a”[…a]并将数字数组作为printStatistics函数的参数尝试键入而不是“…a”[…a]并将数字数组作为printStatistics函数的参数问题
问题是您使用了两次…a
。这是一个数组,它将所有参数转换为一个数组。但是,由于使用了两次,第一次将参数转换为数组,第二次仅传递所述数组并将其包装到另一个数组中:
console.log(“结果:”,foo(1,2,3));
函数foo(…a){
log('a`in foo:,a);//a=[1,2,3]
返回杆(a);
}
功能条(…a){
log(“`a`in bar:”,a);//a=[[1,2,3]]-数组中的数组
返回a;
}
问题
问题是您使用了两次…a
。这是一个数组,它将所有参数转换为一个数组。但是,由于使用了两次,第一次将参数转换为数组,第二次仅传递所述数组并将其包装到另一个数组中:
console.log(“结果:”,foo(1,2,3));
函数foo(…a){
log('a`in foo:,a);//a=[1,2,3]
返回杆(a);
}
功能条(…a){
log(“`a`in bar:”,a);//a=[[1,2,3]]-数组中的数组
返回a;
}
sum
应该只取a
而不是…a
,或者您需要调用sum(NumberValue[key],…a)
。现在您接受rest参数两次,因此第二次从整数数组进入包含整数数组的数组。只需删除sum中a
参数前面的3个点即可function@VLAZ哇,每天我都在学习JavaScript的新东西!非常感谢,伙计sum
应该只取a
而不是…a
,或者您需要调用sum(NumberValue[key],…a)
。现在您接受rest参数两次,因此第二次从整数数组进入包含整数数组的数组。只需删除sum中a
参数前面的3个点即可function@VLAZ哇,每天我都在学习JavaScript的新东西!非常感谢,伙计!!