--- id: 6352fce75b2d3b2924930f1e title: Step 49 challengeType: 0 dashedName: step-49 --- # --description-- With two `.map()` calls and a `.reduce()` call, you're creating extra arrays and iterating more times than needed. You should move all of the logic into the `.reduce()` call to save time and memory. Remove the `differences`, `squaredDifferences`, and `sumSquaredDifferences` variables (and their values). Declare a `variance` variable, and assign it the value of `array.reduce()`. For the callback, pass in your standard `acc` and `el` parameters, but leave the function body empty for now. Don't forget to set the initial value to `0`. # --hints-- You should remove the `differences` variable. ```js assert.notMatch(getVariance.toString(), /differences\s*=/); ``` You should remove the `squaredDifferences` variable. ```js assert.notMatch(getVariance.toString(), /squaredDifferences\s*=/); ``` You should remove the `sumSquaredDifferences` variable. ```js assert.notMatch(getVariance.toString(), /sumSquaredDifferences\s*=/); ``` You should have a `variance` variable. ```js assert.match(getVariance.toString(), /variance\s*=/); ``` Your `variance` variable should use the `array.reduce()` method. ```js assert.match(getVariance.toString(), /variance\s*=\s*array\.reduce\(/); ``` Your `variance` variable should use the `acc` and `el` parameters in the callback function. ```js assert.match(getVariance.toString(), /variance\s*=\s*array\.reduce\(\s*function\s*\(\s*acc\s*,\s*el\s*\)/); ``` Your `reduce` callback should be an empty function. ```js assert.match(getVariance.toString(), /variance\s*=\s*array\.reduce\(\s*function\s*\(\s*acc\s*,\s*el\s*\)\s*\{\s*\}/); ``` Your `reduce` callback should have an initial value of `0`. ```js assert.match(getVariance.toString(), /variance\s*=\s*array\.reduce\(\s*function\s*\(\s*acc\s*,\s*el\s*\)\s*\{\s*\}\s*,\s*0\s*\)/); ``` # --seed-- ## --seed-contents-- ```html
Enter a list of comma-separated numbers.
The mean of a list of numbers is the average, calculated by taking the sum of all numbers and dividing that by the count of numbers.
Mean:
The median of a list of numbers is the number that appears in the middle of the list, when sorted from least to greatest.
Median:
The mode of a list of numbers is the number that appears most often in the list.
Mode:
The range of a list of numbers is the difference between the largest and smallest numbers in the list.
Range:
The variance of a list of numbers measures how far the values are from the mean, on average.
Variance:
The standard deviation of a list of numbers is the square root of the variance.
Standard Deviation: