sort()
方法会改变原始数组
var oldArr = [15, 28, 23, 2, 1, 9];
oldArr.sort((a, b) => {
return a - b; // 升序
});
console.log(oldArr);
冒泡排序
通过两层for
循环把数组中两两相邻的元素进行比较,比较两个元素的大小,大的元素放后面,从而一步步交换元素的位置,这样最后一个元素是最大值,下一次循环比较就不需要比较这个最大值,持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
//升序
var oldArr = [6, 15, 23, 2, 1, 9];
function bubbleSort(arr) {
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr.length - i; j++) {
// 如果前一个比后一个大,则交换位置
if (arr[j] > arr[j + 1]) {
[ arr[j+1], arr[j] ] = [ arr[j], arr[j+1] ]
}
}
}
return arr;
}
console.log(bubbleSort(oldArr));