如何解决JS中的数组只运行最后一个方差值
我知道有些事情非常糟糕。我正在尝试使用数组 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
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。