Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การคำนวณค่าเฉลี่ยของหน้าต่างบานเลื่อนใน 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 ]