计算JavaScript中滑动窗口的平均值

我们需要编写一个JavaScript函数,该函数将整数数组arr作为第一个参数,并将数字num(num <arr的长度)作为第二个参数。该函数应构造并返回一个新数组,其中包含该数组所有可能的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 ]

以上是 计算JavaScript中滑动窗口的平均值 的全部内容, 来源链接: utcz.com/z/342661.html

回到顶部