실제로 더 작은 값을 찾으면 이 값의 인덱스를 lowestNumberIndex에 저장한다.
if(array[j] < array[lowestNumberIndex]) {
lowestNumberIndex = j;
}
안쪽 루프가 종료되는 시점에 이번 패스스루에서 가장 작은 수의 인덱스가 결정된다.
패스스루의 최솟값이 이미 올바른 위치에 있으면(최솟값이 패스스루에서 만난 첫 번째 값인 경우) 아무것도 하지 않아도 된다. 하지만 최솟값이 올바른 위치에 있지 않으면 교환해야 한다. 좀 더 구체적으로 설명하면 패스스루를 시작했던 인덱스 i에 있는 값과 최솟값을 교환한다.
if(lowestNumberIndex != i) {
let temp = array[i];
array[i] = array[lowestNumberIndex];
array[lowestNumberIndex] = temp;
}
끝으로 정렬된 배열을 반환한다.
return array;