javaScrpt 循环for , 数组arr , 数组遍历 , 素组的增加和删除 等详细解析

170 阅读2分钟

javaScrpt 循环for , 数组arr , 数组遍历 , 素组的增加和删除 等详细解析

for 循环

重复执行代码

for ( 声明记录循环次数的变量 ; 循环条件 ; 变化值) {

循环体 }

for循环和while循环的区别 :

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

循环结束

  • 退出循环 continue

    • 结束本次循环,继续下次循环
  • 终止循环 break

    • 跳出所在的循环 例如

image.png

for 循环嵌套

  • 一个循环里再套一个循环,一般用在for循环里

数组

能够声明数组并且能够获取里面的数据

image.png

计算机中的编号从0开始,所以小明的编号为0,小刚编号为1,以此类推

遍历数组

  • 用循环把数组中每个元素都访问到,一般会用for循环遍历

  • 语法:

    • for (let i = 0 ; i < 数组名.length; i++){ 数组名 [ i ] }
    • 例子

image.png

  • 数组求和以及平均值的例子

image.png

数组操作

  • 数组本质是数据集合, 操作数据无非就是 增 删 改 查

image.png

  • 数组增加新的数据 push() 末尾

    • 数组.push() 方法将一个或多个元素添加到数组的 [ 末尾 ] ,并返回该数组的新长度 (重点)
    • 语法 : arr.push (元素1 , 元素2 , 元素3, ... , 元素N)
    • 例子

image.png

  • 数组增加新的数据 arr.unshift () [ 开头 ]

    • arr.unshift(新增的内容) 方法将一个或多个元素添加到数组的 [ 开头 ],并返回该数组的新长度
    • 语法 : arr.unshift (元素1 , 元素2 , ... , 元素n)
    • 例子 image.png
  • 数组删除元素 数组. pop() [ 最后一个 ]

    • 数组. pop() 方法从数组中删除最后一个元素,并返回该元素的值
    • 语法 : arr. pop ()
    • 例子

image.png

  • 数组删除元素 arr.shift() [ 第一个 ]

    • shift() 方法从数组中删除第一个元素,并返回该元素的值
    • 语法: arr.shift()
    • 例子

image.png

  • 数组删除元素 ;数组.splice ()

    • 起始位置: 数组. splice() 方法 删除指定元素 指定修改的开始位置(从0计数)

    • deleteCount: ➢ 表示要移除的数组元素的个数 ➢ 可选的。 如果省略则默认从指定的起始位置删除到最后

    • 例子

image.png

运用场景

  1. 随机抽奖,中奖的用户就需要从数组里面删除,不允许重复抽奖

  2. 点击删除按钮,相关的数据会从商品数据中删除

经典案例

冒泡排序案例

```) // 内层循环?次 + 当前的轮次 = 数组的长度 // 内层循环?次 = 数组的长度 - 当前的轮次 // 内层循环?次 = arr.length - i

```
  for (let j = 1; j <= arr.length - i; j++) {
      // document.write(`<br>我要交换啦<br>`)
      if (arr[j - 1] > arr[j]) {
          let temp = arr[j - 1]
          arr[j - 1] = arr[j]
          arr[j] = temp
      }
  }
  document.write(`<br>`)
```

} console.log(arr);

// let num1 = 10 // let num2 = 20

// // 还要创建一个临时变量 // let temp = num1 // num1 = num2 // num2 = temp // console.log(num1, num2); </script>
### 柱形案例

```<script> let arr = [5, 4, 3, 2, 1] for (let i = 1; i <= arr.length - 1; i++) { document.write(`这是第${i}轮的交换`) // 内层循环?次 + 当前的轮次 = 数组的长度 // 内层循环?次 = 数组的长度 - 当前的轮次 // 内层循环?次 = arr.length - i

    ```
      for (let j = 1; j <= arr.length - i; j++) {
          // document.write(`<br>我要交换啦<br>`)
          if (arr[j - 1] > arr[j]) {
              let temp = arr[j - 1]
              arr[j - 1] = arr[j]
              arr[j] = temp
          }
      }
      document.write(`<br>`)
    ```

    } console.log(arr);

    // let num1 = 10 // let num2 = 20

    // // 还要创建一个临时变量 // let temp = num1 // num1 = num2 // num2 = temp // console.log(num1, num2); </script>