Javascript 我的代码中的回调似乎不起作用,并且在没有应用回调函数的情况下返回结果
我编写了一个javascript对象“myMath”,如下所示: 但是在“mean”函数中,没有调用callbackJavascript 我的代码中的回调似乎不起作用,并且在没有应用回调函数的情况下返回结果,javascript,function,callback,Javascript,Function,Callback,我编写了一个javascript对象“myMath”,如下所示: 但是在“mean”函数中,没有调用callback const myMath = { square(x){ return x**2; }, mean(array, callback){ if(callback){ array.map(callback); } const tota
const myMath = {
square(x){
return x**2;
},
mean(array, callback){
if(callback){
array.map(callback);
}
const total = array.reduce((acc,x)=>acc+x);
return total/array.length;
}
};
当尝试按如下方式调用函数时,获得的输出为2,而不是预期的4.6666
myMath.mean([1,2,3],x=>x**2);
<< 2
myMath.mean([1,2,3],x=>x**2);
Array.map不是“mutating”方法,因此您应该保存映射值:
array=array.map(回调)
Array.map不是“mutating”方法,因此您应该保存映射值:
array=array.map(回调)代码>返回一个新数组。这就是你在地图操作后需要处理的问题
const myMath={
正方形(x){
返回x**2;
},
平均值(数组、回调){
让mapped=callback?array.map(callback):数组;
const total=mapped.reduce((acc,x)=>acc+x);
返回总长度/映射长度;
}
};
log(myMath.mean([1,2,3],x=>x**2));
log(myMath.mean([1,2,3])代码>返回一个新数组。这就是你在地图操作后需要处理的问题
const myMath={
正方形(x){
返回x**2;
},
平均值(数组、回调){
让mapped=callback?array.map(callback):数组;
const total=mapped.reduce((acc,x)=>acc+x);
返回总长度/映射长度;
}
};
log(myMath.mean([1,2,3],x=>x**2));
log(myMath.mean([1,2,3])代码>正在调用回调,您只需忽略结果数组,我以为回调没有被调用。现在我明白了。回调正在被调用,你只需忽略结果数组。我以为回调没有被调用。现在我明白了。