Javascript 没有返回正确的平方根

Javascript 没有返回正确的平方根,javascript,arrays,math,Javascript,Arrays,Math,使用一个包含[1,2,2]的数组,我得到2497。。。返回而不是3 我试图取数组中每个值的幂,将这些值组合在一起,然后将结果平方根。我做错了什么 编辑:尝试在一行中完成所有操作 a = a.map(x => Math.pow(x, 2)).reduce((acc, v) => Math.sqrt(acc + v, 0)); 您只需计算最终总和的平方根: constmycalc=a=>Math.sqrt(a.reduce((acc,v)=>acc+v*v,0)); console.

使用一个包含[1,2,2]的数组,我得到2497。。。返回而不是3

我试图取数组中每个值的幂,将这些值组合在一起,然后将结果平方根。我做错了什么

编辑:尝试在一行中完成所有操作

a = a.map(x => Math.pow(x, 2)).reduce((acc, v) => Math.sqrt(acc + v, 0));

您只需计算最终总和的平方根:

constmycalc=a=>Math.sqrt(a.reduce((acc,v)=>acc+v*v,0));

console.log(myCalc([1,2,2]);//3
您只需计算最终总和的平方根:

constmycalc=a=>Math.sqrt(a.reduce((acc,v)=>acc+v*v,0));
console.log(myCalc([1,2,2]);//3
var a=[1,2,2]
a=Math.sqrt(a.map(x=>Math.pow(x,2)).reduce((acc,v)=>{returnacc+v}),0);
控制台日志(a)
var a=[1,2,2]
a=Math.sqrt(a.map(x=>Math.pow(x,2)).reduce((acc,v)=>{returnacc+v}),0);

控制台日志(a)你为什么期望3?提示:你期望调用多少次
Math.sqrt
,你实际调用它多少次?我期望3,因为(1^2+2^2+2^2)=9。那么它的平方根应该是3。代码不是这样做的。而是运行
√(√(√(1+0,0)+4,0)+4,0)
2.497=sqrt(sqrt(5)+4)。您希望在完成reduce步骤后调用平方根。为什么预期为3?提示:您希望调用多少次
Math.sqrt
,实际调用它多少次?我预期为3,因为(1^2+2^2+2^2)=9。那么它的平方根应该是3。代码不是这样做的。而是运行
√(√(√(1+0,0)+4,0)+4,0)
2.497=sqrt(sqrt(5)+4)。您想在完成缩减步骤后调用平方根。对不起,我忘了提到,我正试图在一行中完成它。如果有可能的话。@Azzi像这样吗?对不起,我忘了提,我想用一行字来写。如果有可能的话。@Azzi这样吗?谢谢!没想过要用退货,谢谢!没有考虑使用return。
Math.sqrt(a.reduce((acc, x) => acc + x ** 2, 0))