Computer >> Máy Tính >  >> Lập trình >> Javascript

Trung bình động thời gian thực của một mảng số trong JavaScript

Vấn đề

Chúng tôi được yêu cầu viết một hàm JavaScript có trong một mảng. Hàm của chúng ta nên tạo một mảng mới để lưu trữ giá trị trung bình động của các phần tử của mảng đầu vào. Ví dụ -

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

Phần tử đầu tiên là giá trị trung bình của phần tử đầu tiên, phần tử thứ hai là giá trị trung bình của 2 phần tử đầu tiên, phần tử thứ ba là giá trị trung bình của 3 phần tử đầu tiên, v.v.

Ví dụ

Sau đây là mã -

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));

Đầu ra

Sau đây là đầu ra của bảng điều khiển -

[ 1, 1.5, 2, 2.5, 3 ]