function selectionSort(collection) {
  const array = Array.from(collection); // <1>

  for (let left = 0; left < array.length; left++) { // <2>
    let selection = left; // <3>

    for (let right = left + 1; right < array.length; right++) {
      if (array[selection] > array[right]) { // <4>
        selection = right; // <5>
      }
    }

    if (selection !== left) {
      swap(array, selection, left); // <6>
    }
  }

  return array;
}
Selection sort - Look for smaller numbers on the right side

It starts from the first element (index 0),
and tries to find any element (to the right)
that could be smaller than the current index.
If it finds one, it will swap the positions.

Runtime: O(n^2)
@param {Array|Set} collection elements to be sorted