仅 JS 中的数组 运行 方差的最后一个值
Array in JS only running last value for variance
我知道出了什么大问题。我正在尝试使用数组 10,20,30-100 执行方差函数。但它遍历了所有值,如 10,20,但只显示 100 的值。所以最终结果是 100-avg^2/N
。如何将函数获取到 (value)-avg^2
,然后对 /N
.
之前的所有值求和
function varp(array) {
var i, varps
N = array.length
for (i=0;i<N;i=i+1) {
varps=((array[i]-avg)**2)/N
}
return varps
}
变量 varps 只包含一个值。每次 运行 循环时,您都会覆盖以前的值。如果要将当前循环的结果添加到某个聚合器,请在循环外实例化该变量,然后将值添加到它而不是重新分配它:
function varp(array) {
let i, total;
const len = array.length
for (i = 0; i < len; i++) {
total += ((array[i] - avg) ** 2) / len
}
return total
}
我知道出了什么大问题。我正在尝试使用数组 10,20,30-100 执行方差函数。但它遍历了所有值,如 10,20,但只显示 100 的值。所以最终结果是 100-avg^2/N
。如何将函数获取到 (value)-avg^2
,然后对 /N
.
function varp(array) {
var i, varps
N = array.length
for (i=0;i<N;i=i+1) {
varps=((array[i]-avg)**2)/N
}
return varps
}
变量 varps 只包含一个值。每次 运行 循环时,您都会覆盖以前的值。如果要将当前循环的结果添加到某个聚合器,请在循环外实例化该变量,然后将值添加到它而不是重新分配它:
function varp(array) {
let i, total;
const len = array.length
for (i = 0; i < len; i++) {
total += ((array[i] - avg) ** 2) / len
}
return total
}