Почему этот код работает если ничего не возврашает

Да, для многих из вас это может показаться тупым вопросом, но да, я его не понимаю. Пытаюсь выучить алгоритмы, и на freecodecamp увидел такой интересный код, но не могу понять как он работает. То есть, я понимаю этот алгоритм, обычная сортировка, но почему она возврашает что-то я понять не могу.

js

 function swap(a,b,array){
    let tmp = array[a]
    array[a] = array[b]
    array[b] = tmp
 }

 function selectionSort2(array) {
   for (let i = 0; i < array.length - 1; i++) {
     let min = i;
     for (let j = i + 1; j < array.length; j++) {
       if (array[min] > array[j]) min = j;
     }
     swap(i,min,array) // почему оно что-то возврашает? 0_0 ведь в той функции нет return
   }
   return array;
 }
 
 console.log(selectionSort2([1, 4, 2, 8, 345, 123, 43, 32, 5643, 63, 123, 43, 2, 55, 1, 234, 92]))

Ответы (1 шт):

Автор решения: Igor

Оно ничего не возвращает. Оно меняет местами значения двух элементов массива, ссылка на который передается в третьем параметре.

→ Ссылка