RMS Value Of Array in JavaScript

The RMS (Root mean square) value of a distribution is the square root of the mean of the squares of the elements. The formula to find RMS value are given below:

 RMS = \sqrt{\frac{{a_{1}}^{2} + {a_{2}}^{2} + {a_{3}}^{2} + {a_{4}}^{2} + ... + {a_{N}}^{2}}{N}}

To calculate RMS value of an array, first need to square all the elements in the array. Then, take the mean of those squared value by summing it and dividing it by the number of the elements and finally take the square root of that number.

Example:

filter_none

edit
close

play_arrow

link
brightness_4
code

<script>
  
let CalculateRMS = function (arr) {
  
    // Map will return another array with each 
    // element corresponding to the elements of
    // the original array mapped according to
    // some relation
    let Squares = arr.map((val) => (val*val));
  
    // Function reduce the array to a value
    // Here, all the elements gets added to the first
    // element which acted as the accumulator initially.
    let Sum = Squares.reduce((acum, val) => (acum + val));
  
    Mean = Sum/arr.length;
    return Math.sqrt(Mean);
}
  
let arr = [5, 9, 3, -7, -4];
  
let Rms = CalculateRMS(arr);
  
document.write(Rms);
</script>                    

chevron_right


Output:



6

Now the above script converted into single line script. To write the above script into single line, first convert the arr to another array of squares using Map function which returns an array. Now apply reduce on that array directly which will return a single value (sum of all the squares). Sum of square of number divided by number of elements and get the square root. It will produce RMS value.

Example:

filter_none

edit
close

play_arrow

link
brightness_4
code

<script>
let CalculateRMS = (arr) => Math.sqrt(
            arr
                .map( val => (val * val))
                .reduce((acum, val) => acum + val)
            /arr.length
);
  
// The above can be written without any 
// line breaks in between as a single-line.
// For the sake of easy 
// understanding it is written like that.
  
let arr = [5, 9, 3, -7, -4];
let RMS = CalculateRMS(arr);
document.write(RMS);
</script>                    

chevron_right


Output:

6

Benefits Of Writing An One-line Functions
The less code will require less memory, so it will take less time for any Web Browser to load the script with less memory. Further, the browser renders the WebPage by executing the code line-by-line, so any operation on website involving One-line functions will respond much quickly as compared to the normal functions.



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.