HTML Academy
Testing the sorting
Arrays25/30
Back to the list of tasks
  • 1. Little Muffin and Big Data
  • 2. Average value
  • 3. Finishing the traffic analyzer
  • 4. New data
  • 5. A lot of data? An array!
  • 6. Reading from an array using index
  • 7. Variable as index
  • 8. Array length
  • 9. Let’s hit arrays with loops!
  • 10. Summation in the loop
  • 11. Finishing refactoring
  • 12. One small analytical investigation
  • 13. Writing to an array by index
  • 14. The murderer is a butler!
  • 15. Summary of “Arrays”. Part 1
  • 16. Fifth program: Beginner decryptor
  • 17. Vague suspicions
  • 18. Swapping the elements
  • 19. Looking for the minimum element
  • 20. The minimum element is found!
  • 21. Starting sorting
  • 22. Continue sorting
  • 23. Finish sorting
  • 24. Testing the sorting
  • 25. Median of an odd number of elements
  • 26. Median of an even number of elements
  • 27. Green light
  • 28. The murderer is the butler, again!
  • 29. Summary of “Arrays”. Part 2
  • 30. Sixth program: Long jump records
Median of an even number of elements
  • Sign up
  • Log in

Loading…
Everything will be ready in few seconds

  • Theory
  • Theory
  • Comments

Median of an odd number of elements

The sorting program is ready and tested. Now let’s proceed to calculation of the median. The median is a median value, i.e. literally an element located in the middle of the array.

Median

The median differs from the average value with its resistance to deviations:

// Average: 3
[1, 2, 3, 4, 5]
// Median: 3
[1, 2, 3, 4, 5]

// Average: 12
[1, 2, 3, 4, 50]
// Median: 3
[1, 2, 3, 4, 50]

It is easy to calculate a median for an array with an odd number of elements. To do this, you need to correctly calculate the average element index. Let’s try to derive the formula:

// Array length 3, middle element index 1
[1, 2, 3]

// Array length 5, middle element index 2
[1, 2, 3, 4, 5]

// Array length 7, middle element index 3
[1, 2, 3, 4, 5, 6, 7]

Let’s subtract one from the array length, divide it by two, and we got the index.

Muffin can send data arrays of different lengths, so you’ll have to check the number of elements for parity and, depending on result, find the median. To check for parity, let’s use the operator we are already familiar with: %.

Comments

  • script.js
JavaScript
var usersByDay = [1, 2, 3, 4, 5]; console.log(usersByDay);

What didn’t you like in this task?

Thanks! We’ll fix everything at once!

Console

The code has changed, click “Run” or turn autorun on.

Result

Goalscompleted
  1. At the end of the program, add a check for an odd number of elements in the array: usersByDay.length % 2 !== 0.
  2. If the condition is met, add a variable medianIndex with value (usersByDay.length - 1) / 2.
  3. Log this variable in the console.
  4. In the same condition branch, add variable median with value usersByDay[medianIndex].
  5. Log it in the console as well.

Cookies ∙ Privacy ∙ License Agreement ∙ About ∙ Contacts ∙ © HTML Academy OÜ, 2019−2025

VISAMastercard

Log in

or

Forgot your password?

Sign up

Sign up

or
Log in

Restore access

Have you forgotten your password or lost access to your profile? Enter your email connected to your profile and we will send you a link to restore access.

Forgot to connect your email to the profile? Email us and we’ll help.