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的新东西!非常感谢,伙计!!