Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ค่าเฉลี่ยเคลื่อนที่แบบเรียลไทม์ของอาร์เรย์ของตัวเลขใน JavaScript


ปัญหา

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้ในอาร์เรย์ ฟังก์ชันของเราควรสร้างอาร์เรย์ใหม่ที่จัดเก็บค่าเฉลี่ยเคลื่อนที่ขององค์ประกอบของอาร์เรย์อินพุต ตัวอย่างเช่น −

[1, 2, 3, 4, 5] → [1, 1.5, 3, 5, 7.5]

องค์ประกอบแรกคือค่าเฉลี่ยขององค์ประกอบแรก องค์ประกอบที่สองคือค่าเฉลี่ยขององค์ประกอบ 2 รายการแรก องค์ประกอบที่สามคือค่าเฉลี่ยขององค์ประกอบ 3 รายการแรก เป็นต้น

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

const arr = [1, 2, 3, 4, 5];
const movingAverage = (arr = []) => {
   const res = [];
   let sum = 0;
   let count = 0;
   for(let i = 0; i < arr.length; i++){
      const el = arr[i];
      sum += el;
      count++;
      const curr = sum / count;
      res[i] = curr;
   };
   return res;
};
console.log(movingAverage(arr));

ผลลัพธ์

ต่อไปนี้เป็นเอาต์พุตคอนโซล -

[ 1, 1.5, 2, 2.5, 3 ]