# How to get the standard deviation of an array of numbers using JavaScript ?

Given an array and the task is to calculate the standard deviation using JavaScript.

Example:

```Input:  [1, 2, 3, 4, 5]
Output: 1.4142135623730951

Input:  [23, 4, 6, 457, 65, 7, 45, 8]
Output: 145.13565852332775```

Please refer to Mean, Variance, and Standard Deviation for details.

Mean is average of element. Where 0 <= i < n
Mean of arr[0..n-1] = âˆ‘(arr[i]) / n
Variance is the sum of squared differences from the mean divided by a number of elements.
Variance = âˆ‘(arr[i] â€“ mean)2 / n
Standard Deviation is the square root of the variance.
Standard Deviation = variance ^ 1/2

Approach: To get the standard deviation of an array, first we calculate the mean and then the variance, and then the deviation. To calculate the mean we use Array.reduce() method and calculate the sum of all the array items and then divide the array by the length of the array.

To calculate the variance we use the map() method and mutate the array by assigning (value – mean) ^ 2 to every array item, and then we calculate the sum of the array, and then we divide the sum by the length of the array. To calculate the standard deviation we calculate the square root of the array.

Example: In this example, we will be calculating the standard deviation of the given array of elements.

## Javascript

 `// Javascript program to calculate the ``// standard deviation of an array``function` `StandardDeviation(arr) {` `    ``// Creating the mean with Array.reduce``    ``let mean = arr.reduce((acc, curr) => {``        ``return` `acc + curr``    ``}, 0) / arr.length;` `    ``// Assigning (value - mean) ^ 2 to``    ``// every array item``    ``arr = arr.map((k) => {``        ``return` `(k - mean) ** 2``    ``});` `    ``// Calculating the sum of updated array ``    ``let sum = arr.reduce((acc, curr) => acc + curr, 0);` `    ``// Calculating the variance``    ``let variance = sum / arr.length` `    ``// Returning the standard deviation``    ``return` `Math.sqrt(sum / arr.length)``}` `console.log(StandardDeviation([1, 2, 3, 4, 5]))``console.log(StandardDeviation([23, 4, 6, 457, 65, 7, 45, 8]))`

Output
```1.4142135623730951
145.13565852332775```

Previous
Next