Chúng tôi được yêu cầu viết một hàm JavaScript nhận một mảng các số nguyên, arr, làm đối số đầu tiên và một số, num (num
Ví dụ -
Nếu mảng đầu vào và số là -
const arr = [1, 2, 3, 4, 5]; const num = 2;
Sau đó, đầu ra phải là -
const output = [1.5, 2.5, 3.5, 4.5];
bởi vì các cửa sổ liên tục có thể có ở kích thước hai là (1, 2), (2, 3), (3, 4) và (4, 5)
Ví dụ
Mã cho điều này sẽ là -
const arr = [1, 2, 3, 4, 5]; const num = 2; const findContiniousAverage = (arr = [], num = 1) => { if(num > arr.length){ return []; }; const res = []; let sum = 0; let left = 0, right = 0; for(; right < num; right++){ sum += arr[right]; }; res.push(sum / num); for(; right < arr.length; right++, left++){ sum -= arr[left]; sum += arr[right]; res.push(sum / num); }; return res; }; console.log(findContiniousAverage(arr, num)); console.log(findContiniousAverage(arr));
Đầu ra
Và đầu ra trong bảng điều khiển sẽ là -
[ 1.5, 2.5, 3.5, 4.5 ] [ 1, 2, 3, 4, 5 ]