JS第三天

发布于:2023-01-04 ⋅ 阅读:(216) ⋅ 点赞:(0)

for循环

for的格式

三要素:起始值,终止值,变化量

for(let i = 1; i <= 6; i++) {
    document.write(`<h${i}>循环控制,即重复执行<h${i}>`)
  }

for的中止和结束:变化量和死循环,`for` 循环和 `while` 一样,如果不合理设置增量和终止条件,便会产生死循环。

<script>
    // 1. continue 
    for (let i = 1; i <= 5; i++) {
        if (i === 3) {
            continue  // 结束本次循环,继续下一次循环
        }
        console.log(i)
    }
    // 2. break
    for (let i = 1; i <= 5; i++) {
        if (i === 3) {
            break  // 退出结束整个循环
        }
        console.log(i)
    }

eg:当如果明确了循环的次数的时候推荐使用`for`循环,当不明确循环的次数的时候推荐使用`while`循环

循环嵌套

外部循环一次里面循环全部。

比如打印四行四列的星星:

<script>
      for (let sum = 0; sum <4; sum++) {
        for (let i = 0; i <4; i++) {
          document.write('⭐')
        }
        document.write(`<br>`)
      }

数组

(Array)是一种可以按顺序保存数据的数据类型

let arr = []

数组做为数据的集合,它的单元值(即[]里面的值用,号隔开)可以是任意数据类型

数组做为对象数据类型,不但有 `length` 属性可以使用,还提供了许多方法:

1. push 动态向数组的尾部添加一个单元

2. unshit 动态向数组头部添加一个单元

3. pop 删除最后一个单元

4. shift 删除第一个单元

5. splice(1,2)表示删除下标为1的单元格及后面一个。如果只有一个值表示删除 动态删除任意单元

使用以上4个方法时,都是直接在原数组上进行操作,即成功调任何一个方法,原数组都跟着发生相应的改变。并且在添加或删除单元时 `length` 并不会发生错乱。

遍历数组

数组都是有下标的,遍历数组都是通过数组的下标的自增来一次访问内容的

 <script>

        let name = ["马超","赵云","张飞","黄忠","关羽"]

        for (let i = 0; i < name.length; i++) {

         document.write(`${name[i]}<br>`)

        }

    </script>

数组求和

 <script>
        // 数组求和在于用一个新的容器去装arr,然后不断地把arr里面的数加进去
        let ary = [1,3,5,7,9,10,11]
        let sum = 0
        for (let i= 0; i < ary.length; i++) {
           sum += ary[i]
        }
        document.write(`${sum}<br>`)
        let average = sum / ary.length 
        document.write(average)
    </script>

求最大值和最小值

 <script>
      // 用装最大值和最小值的容器去和arr里面的依次比较然后进行换位。
      let ary = [11, 55, 88, 96, 87, -1, 98, 11];
      let max = ary[0];
      let min = ary[0];
      for (let i = 0; i < ary.length; i++) {
        if (max < ary[i]) {
          max = ary[i];
        }
        if (min > ary[i]) {
          min = ary[i];
        }
      }
      document.write(`${max}<br>`);
      document.write(min);
    </script>

冒泡排序

<script>
        // 排序,利用双重循环挨个比较换位置进行排序。
        let num =[4,8,2,7,5,10,5]
        // j=1
        for (let j = 0; j < num.length-1; j++) {
            // length-j是因为后面的排好了就不用比较了
            for (let i = 0; i < num.length-j-1; i++) {
           if (num[i]>num[i+1]) {
            /*  let newnum = num[i]
             num[i]= num[i+1]
             num[i+1]=newnum */
             [num[i],num[i+1]]= [num[i+1],num[i]]
           }
        }
        }
        document.write(num)
    </script>

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到