SOURCE

let selectSorting = function (arr) {
    // temp 指针,用来表示未排序数组中最小的数的下标
    let temp = 0;
    for (let i = temp; i < arr.length; i++) {
        for (let j = i + 1; j < arr.length; j++) {
            if (arr[j] < arr[temp]) {
                temp = j;
            }
        }
        // 确定arr[temp]是未排序数组中最小的后,做交换
        // 但是这里要排除一种情况: temp === i 不需要做交换
        if (temp !== i) {
            [arr[temp], arr[i]] = [arr[i], arr[temp]];
        }
    }
    return arr;
}

console.log('selectSorting([2, 9, 6, 7, 4, 3, 1, 8])', selectSorting([2, 9, 6, 7, 4, 3, 1, 8]))
console 命令行工具 X clear

                    
>
console