SOURCE

let testArr = [5, 17, 1, 33, 6, 20];
document.write(testArr + "<br/>");
/*
思路:
预备:设置新的空数组用于存放排序好的元素;设置2个变量分别临时保存当前遍历到的最小元素与其下标
(两个变量初始化设定为arr[0]与0)
首先从头开始遍历数组,找到原始数组中的最小元素,push到预备的新数组里,然后从原始数组中删除该最小元素;
同时重设两个临时变量,开始第二轮遍历
*/
function selectionSort(arr) {
    let resultArr = [];
    let minEl = arr[0];
    let minElIdx = 0;
    let originLength = arr.length;
    for (let j = 0; j < originLength; j++) {
        for (let i = 0; i < arr.length; i++) {
            if (arr[i] < minEl) {
                minEl = arr[i];
                minElIdx = i;
            }
        }
        resultArr.push(minEl);
        arr.splice(minElIdx, 1);
        minEl = arr[0];
        minElIdx = 0;
    }
    return resultArr;
}


document.write(selectionSort(testArr));
console 命令行工具 X clear

                    
>
console