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。