JS入门小案例12-数组排序

一、需求

有一个数字数字,将数字数组正序排序或者逆序排序

二、代码

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>

三、结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值