/** * 选择排序,第一趟,默认第一个是最小值,赋值给 min_index,然后把剩下的和 min_index 比较 * 如果遇到更小的,则赋值给 min_index,最后把 min_index 和 当前第几趟的 i,交互数据 */ const select_sort = list => { const len = list.length; for (let i = 0; i < len - 1; i++) { let min_index = i; for (let j = i + 1; j < len; j++) { if (list[j] < list[min_index]) { min_index = j; } } [list[i], list[min_index]] = [list[min_index], list[i]]; } return list; } const list = [10, 2, 100, 4, 200, 3, 9, 20, 4]; console.log(select_sort(list));