一、需求
有一个数字数字,将数字数组正序排序或者逆序排序
二、代码
1、定义一个数组
let arr1 = [12, 22, 34, 12, 5, 1, 34, 67];
2、使用冒泡排序方法来排序数组
1、排序过程
如何将一个大的数组换换到后面,假设有两个盒子,盒子A装着数字12,盒子B装着数字5,我想将盒子A的12换到盒子B中,将盒子B中的5换到盒子A中,直接换是没办法的,所以需要一个中间盒子(临时变量)
先将盒子A的值移动到盒子C中去,此时的盒子A空了,然后将盒子B中的值移动到盒子A中去,此时的盒子B空了,然后将盒子C中的值移动到盒子B中去,这样两个盒子的值就顺利交换了
2、数组排序
使用一个for循环,循环到最后只是将数组中最大的一个数放到了最后,并没有全部排序,所以需要二次循环,将前面的数组也一并排序,二次循环排序完成以后,数组全部排序才算完成
3、代码
<script>
let arr1 = [12, 22, 34, 12, 5, 1, 34, 67];
for (let i = 0; i < arr1.length - 1; i++) {
for (let j = 0; j < arr1.length - 1; j++) {
if (arr1[j] > arr1[j + 1]) {
let temp = arr1[j];
arr1[j] = arr1[j + 1];
arr1[j + 1] = temp;
}
}
}
console.log('排序后的', arr1);
</script>