# Understanding Selection Sort Algorithm (in JavaScript!)

Selection sort is not a very fast algorithm, but it is useful for searching through a list and sorting in a particular order (like smallest to largest values).

The algorithm compares the values in a list/array, in place.

We’ll begin by declaring our function and the return value (the sorted array).

function selectionSort(arr) {return arr;}

Next, we need to add the loop necessary to search through the length of the array.

We also need to declare a variable that will hold the index of our smallest value, *assuming that the index is the smallest value (i).*

function selectionSort(arr) {for (let i = 0; i < arr.length - 1; i++{ let smallest = i;

}return arr}

We have the loop stop at one value less than the length of the array because in the next loop we will compare

iwith the next value,i+1

Now, we need to add a second loop that will compare the values in the array.

This loop will look for the smallest value, as previously declared by *smallest.*

function selectionSort(arr) {for (let i = 0; i < arr.length - 1; i++{ let smallest = i;for (let j = i + 1; j < arr.length; j++){}}return arr}

Now, we compare the values and swap them in the array.

*If arr at j is smaller than the array at the smallest index, we’ll swap them to make the smallest index = j*

function selectionSort(arr) {for (let i = 0; i < arr.length - 1; i++{let smallest = i;for (let j = i + 1; j < arr.length; j++){ if (arr[j] < arr[smallest]){

smallest = j;}} [arr[i], arr[smallest]] = [arr[smallest], arr[i]];}return arr}

✨✨✨And that’s it!

Tish⚡️🎧🌙