Javascript 求标准差函数
我以为我已经完成了我的功能,但结果它并没有像我预期的那样工作。它应该计算一组数字的标准偏差值Javascript 求标准差函数,javascript,arrays,standard-deviation,Javascript,Arrays,Standard Deviation,我以为我已经完成了我的功能,但结果它并没有像我预期的那样工作。它应该计算一组数字的标准偏差值 function average (arr) { let result = 0 for (let counter = 0; counter < arr.length; counter++) { result += arr[counter] } const averageValue = result / arr.length return averageValue }
function average (arr) {
let result = 0
for (let counter = 0; counter < arr.length; counter++) {
result += arr[counter]
}
const averageValue = result / arr.length
return averageValue
}
function standardDeviation (arr) {
if (arr.length === 1) {
return 0
} else {
const getAverage = arr.map(x => average(arr) - x)
const squaredArr = getAverage.map(i => i * i)
let sum = squaredArr.reduce(function (i, j) {
return i + j
})
const dividedArr = sum / (arr.length - 1)
return Math.sqrt(dividedArr)
}
}
函数平均值(arr){
设结果=0
用于(让计数器=0;计数器average(arr)-x)
const squaredar=getAverage.map(i=>i*i)
设和=平方减(函数(i,j){
返回i+j
})
常数除数=总和/(阵列长度-1)
返回Math.sqrt(dividedArr)
}
}
如果我传递数组[4,2,6,1,3,7,5,3],我的函数应该返回1.8998,但它返回2.031。。。。。为什么?如何解决这个问题?您可能应该提供一个可运行的示例+偏差公式,以帮助人们更快地获得您的观点。显示函数“平均值”为什么您认为1.9是正确答案?提示,查一下总体与样本方差的定义我知道答案是1.8998,因为伴随着这个赋值,函数必须通过几个测试。其中一个是传递数组[4,2,6,7,5,3]并返回数字1.8998。