- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Calculating average of a sliding window in JavaScript
We are required to write a JavaScript function that takes in an array of integers, arr, as the first argument and a number, num (num < length of arr) as the second argument. The function should construct and return a new array that contains the average of all possible num contiguous numbers of the array.
For example −
If the input array and the number are −
const arr = [1, 2, 3, 4, 5]; const num = 2;
Then the output should be −
const output = [1.5, 2.5, 3.5, 4.5];
because the possible continuous windows of size two are (1, 2), (2, 3), (3, 4) and (4, 5)
Example
The code for this will be −
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));
Output
And the output in the console will be −
[ 1.5, 2.5, 3.5, 4.5 ] [ 1, 2, 3, 4, 5 ]
Advertisements
To Continue Learning Please Login
Login with Google