ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของตัวเลขที่เรียงลำดับเพิ่มขึ้น
ฟังก์ชันของเราควรคำนวณความแปรปรวนของอาร์เรย์ของตัวเลข ความแปรปรวนของชุดตัวเลขคำนวณจากค่าเฉลี่ย
$Mean (M) =( \sum_{i=0}^{n-1} arr[i])$ / n
และความแปรปรวน (V) =$(\sum_{i=0}^{n-1} (arr[i] - M)^2)$ / n
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const arr = [4, 6, 7, 8, 9, 10, 10];
const findVariance = (arr = []) => {
if(!arr.length){
return 0;
};
const sum = arr.reduce((acc, val) => acc + val);
const { length: num } = arr;
const median = sum / num;
let variance = 0;
arr.forEach(num => {
variance += ((num - median) * (num - median));
});
variance /= num;
return variance;
};
console.log(findVariance(arr)) ผลลัพธ์
4.204081632653061