Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

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


Vấn đề

Chúng ta cần viết một hàm JavaScript nhận vào một mảng. Hàm phải xây dựng một mảng mới lưu 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 là trung bình của phần tử đầu, phần tử thứ hai là trung bình của 2 phần tử đầu, phần tử thứ ba là trung bình của 3 phần tử đầu, v.v.

Ví dụ

Dưới đâ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));

Kết quả

Kết quả console:

[ 1, 1.5, 2, 2.5, 3 ]