用 JavaScript 計算滑動平均視窗


我們需要編寫一個 JavaScript 函式,該函式接受陣列陣列整型 arr 作為第一個引數和一個數字 num(num

例如 −

如果輸入陣列和數字為 −

const arr = [1, 2, 3, 4, 5];
const num = 2;

那麼輸出應該是 −

const output = [1.5, 2.5, 3.5, 4.5];

因為大小為 2 的可能的連續視窗為 (1, 2)、(2, 3)、(3, 4) 和 (4, 5)

示例

程式碼如下 −

 實際演示

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

輸出

控制檯中的輸出將如下 −

[ 1.5, 2.5, 3.5, 4.5 ]
[ 1, 2, 3, 4, 5 ]

更新日期:2021 年 2 月 26 日

482 次瀏覽

開啟你的職業生涯

完成課程,獲得認證

開始
廣告
© . All rights reserved.