HTML Academy
Finish sorting
Arrays24/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 odd number of elements
  • Sign up
  • Log in

Loading…
Everything will be ready in few seconds

  • Theory
  • Theory
  • Comments

Testing the sorting

Now the sorting program is definitely ready. All we have left to do is test it properly.

It’s best to test the program in normal and in so-called “boundary” conditions.

The sorting program is not used to receiving input arrays that already were sorted in ascending or descending orders. Therefore, these conditions are boundary conditions for this program. Conditions will be usual, even ordinary, if input arrays are unsorted arrays of different lengths.

The program now uses i and j as loop variables. This is a traditional “joined at the hip” couple of variable names, which is often used in nested loops.

Comments

  • script.js
JavaScript
var usersByDay = [4, 2, 1, 3]; console.log(usersByDay); for (var i = 0; i <= usersByDay.length - 2; i++) { var minValue = usersByDay[i]; for (var j = i + 1; j <= usersByDay.length - 1; j++) { if (usersByDay[j] < minValue) { minValue = usersByDay[j]; var swap = usersByDay[i]; usersByDay[i] = minValue; usersByDay[j] = swap; } } }

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. Inside the loop, log in the console array usersByDay.
  2. Change initial value usersByDay to [5, 4, 3, 2, 1, 0].
  3. Change initial value usersByDay to [0, 1, 2, 3, 4, 5].
  4. Change initial value usersByDay to [812, 1360, 657, 1247].
  5. Change initial value usersByDay to [812, 1360, 657, 1247, 165].

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.