js实现数组排序

本文介绍了使用JavaScript实现数组排序的三种常见方法:冒泡排序、选择排序以及内置的sort()方法。通过代码示例详细解释了每种方法的工作原理,并指出sort()方法是最简单易用的选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

js实现数组排序的方法有很多,下面我就来说说几种常见的和最简单的方法(第三种最简单):
第一种.冒泡排序 从小到大
数组中的元素两两比较,如果第一个元素比第二个元素大,交换位置,然后让第二个和第三个比较,以此类推,第一轮结束后,最大的元素排在了最后
然后进行第二轮,两两比较;
看代码

var arr1 = [22, 13, 57, 4, 66, 12];

			function bubbleSort(arr) {
				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 temp = arr[j];
							arr[j] = arr[j + 1];
							arr[j + 1] = temp;
						}

					}

				}
				return arr;
			}

			console.log(bubbleSort(arr1));

第二种:选择排序
假设第一个元素为最小值,设一个变量minIndex保存这个值对应的索引,然后让最小索引对应值和其他剩余的所有元素进行比较,如果有比minIndex对应的值小的,改变minIndex的值,再让minIndex对应的值和剩余的值比较,直至结束,第一轮完成能取到一个最小值,和第一个值交换位置
进行第二轮,假设第二个元素为最小值,以此类推
上代码:

var arr1 = [22, 13, 57, 4, 66, 12];
function selectSort(arr){
				for(var i = 0; i < arr.length - 1; i++){
					var minIndex = i;
					
					for(var j = i+1; j < arr.length; j++){ //确定一个最小值对应的索引
						
						if(arr[minIndex] > arr[j]){
							minIndex = j;
						}
					}
					//交换位置
					var temp = arr[i];
					arr[i] = arr[minIndex];
					arr[minIndex] = temp;	
					
				}
				
				return arr;
			}
			console.log(selectSort(arr1));

第三种:ES5的数组方法 sort()

	var arr = [5,11,8,22,3,9];
			//var a = arr.sort();
			arr.sort(function(a,b){
				//return a-b;从小到大//[3,5,8,9,11,22]
				return b - a;
			});
			console.log(arr);

以上就是我所要分享的数组排序的方法,可能还有别的一些方法,等到时再来分享哦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值