4个数字最大方差计算
4 numbers max variance calculation
我有一个包含四个数字的数组,类似于 [597103978, 564784412, 590236070, 170889704]
,我需要确保方差不超过 10%,例如对于上面的数组,检查必须失败,因为号码 170889704.
谁能给我一个好的方法Javascript?
提前致谢!
我会使用 Array.every
const arr = [597103978, 564784412, 590236070, 170889704];
const variance = (n, m) => {
return Math.abs( (n - m) / n );
};
const isLessThanTenPercent = (n) => {
return ( n < 0.1 );
};
const arrayIsGood = arr.every((n, i) => {
// m is the next element after n
const m = arr[i+1];
if (Number.isInteger(m)) {
const v = variance(n, m);
return isLessThanTenPercent(v);
} else {
// if m is not an integer, we're at the last element
return true;
}
});
console.log({arrayIsGood});
我有一个包含四个数字的数组,类似于 [597103978, 564784412, 590236070, 170889704]
,我需要确保方差不超过 10%,例如对于上面的数组,检查必须失败,因为号码 170889704.
谁能给我一个好的方法Javascript?
提前致谢!
我会使用 Array.every
const arr = [597103978, 564784412, 590236070, 170889704];
const variance = (n, m) => {
return Math.abs( (n - m) / n );
};
const isLessThanTenPercent = (n) => {
return ( n < 0.1 );
};
const arrayIsGood = arr.every((n, i) => {
// m is the next element after n
const m = arr[i+1];
if (Number.isInteger(m)) {
const v = variance(n, m);
return isLessThanTenPercent(v);
} else {
// if m is not an integer, we're at the last element
return true;
}
});
console.log({arrayIsGood});