一、使用sort()方法
let arrNew = arr.sort(function (a, b) {
// return a - b //升序 默认
return b - a //倒序
});
console.log(arrNew);//[9, 8, 7, 6, 5, 4, 3, 2, 1]
二、冒泡排序
先声明一个空变量用来通过for循环嵌套,比较相邻的两个元素,如果前一个比后一个大,则交换位置。
let arr = [1, 9, 2, 8, 3, 7, 4, 6, 5]
for (var a = 0; a < arr.length; a++) {
for (var b = a + 1; b < arr.length; b++) {
if (arr[a] > arr[b]) {
var z = arr[a];
arr[a] = arr[b];
arr[b] = z;
}
}
}
console.log(arr);//[1, 2, 3, 4, 5, 6, 7, 8, 9]
由于每次循环完最后一个元素已经是最大的了,所以最后一个元素不用比较,所以上面的代码可以优化一下。
let arr = [1, 9, 2, 8, 3, 7, 4, 6, 5]
for (var i = 0; i < arr.length - 1; i++) {
for (var j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
var z = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = z;
}
}
}
console.log(arr);//[1, 2, 3, 4, 5, 6, 7, 8, 9]
本文介绍JavaScript中数组排序的两种方法:sort()方法与冒泡排序算法。sort()方法通过自定义比较函数实现升序或降序排列。冒泡排序通过多次遍历和比较相邻元素完成排序,优化后的冒泡排序避免了不必要的比较。
2798

被折叠的 条评论
为什么被折叠?



