Обрати внимание что проверка, и сортировка происходит в условии второго цыкла.
в первом цыкле береться data[i] елемент массива, а в тором цыкле берутся последующие елементы массива. Во втором массиве ты сравниваешь елементы i=0 и j=1 …jn и формируешь новый массив.
На второй итерации в первый цикл, ты получаешь массив в котором 0 елемент самый меньший.
В втором цыкле ты сравниваешь уже i=1 и j=2 …jn и так пока не закончится цыкл.
let getSortedArray = function (data, key) {
for (let i = 0; i <= data.length - 2; i++) {
let min = i;
for (let j = i + 1; j <= data.length - 1; j++) {
if(data[i][key] > data[j][key]) {
min = j;
let swap = data[i];
data[i] = data[min];
data[min] = swap;
}
}
}
return data;
}
Эта переменная является избыточной let min = i;
let getSortedArray = function (data, key) {
for (let i = 0; i <= data.length - 2; i++) {
for (let j = i + 1; j <= data.length - 1; j++) {
if(data[i][key] > data[j][key]) {
let swap = data[i];
data[i] = data[j];
data[j] = swap;
}
}
}
return data;
}