# 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 of it.

**Example**:

Input: [1, 2, 3, 4, 5]Output: 1.4142135623730951Input: [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 calculate the standard deviation first we calculate the mean and then variance and then deviation. To calculate the mean we use Array.reduce() method and calculate the sum of all the array items and then divide the array with 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 with the length of the array. To calculate the standard deviation we calculate the square root of the array.

**Example:**

## Javascript

`<script>` `// Javascript program to calculate the standered deviation of an array` `function` `dev(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 Standered deviation` ` ` `return` `Math.sqrt(sum / arr.length)` `}` `console.log(dev([1, 2, 3, 4, 5]))` `console.log(dev([23, 4, 6, 457, 65, 7, 45, 8]))` `</script>` |

**Output:**

1.4142135623730951 145.13565852332775

Hey geek! The constant emerging technologies in the world of web development always keeps the excitement for this subject through the roof. But before you tackle the big projects, we suggest you start by learning the basics. **Kickstart your web development journey** by learning JS concepts with our** ****JavaScript Course**. Now at it’s lowest price ever!