JavaScript基础(day03:for循环、数组)

 学习源码可以看我的个人前端学习笔记 (github.com):qdxzw/frontlearningNotes

觉得有帮助的同学,可以点心心支持一下哈

if多分支语句和switch的区别

循环-for

for(;;)也可以来构造“无限”循环,同样需要使用break退出循环

1.for循环-基本使用

案例(循环练习)

    for (let i = 0; i <= 100; i++) {
      document.write(`${i}岁\n`)
    }
    let sum = 0
    for (let i = 0; i <= 100; i++) {
      if (i % 2 == 0) {
        sum = sum + i
      }
    }
    alert("1~100之间所有的偶数和为" + sum)
    for (let i = 1; i <= 5; i++) {
      document.write("☆");
    }
    let arr = ["马超", "赵云", "张飞", "关羽", "黄忠"]
    for (let i = 0; i < arr.length; i++) {
      document.write(arr[i] + "\n")
    }

总结(for循环和while循环的区别)

2.for循环嵌套

案例(假如每天记住5个单词,3天后一共能记住多少单词)

    for (let i = 1; i <= 3; i++) {
      document.write(`第${i}天<br>`)
      for (let j = 1; j <= 5; j++) {
        document.write(`记住第${j}个单词<br>`)
      }
    }

案例(打印5行5列的星星)

    for (let i = 1; i <= 5; i++) {
      for (let j = 1; j <= 5; j++) {
        document.write("⭐")
      }
      document.write("<br>")
    }

案例(打印倒三角形星星)

    for (let i = 1; i <= 5; i++) {
      for (let j = 1; j <= i; j++) {
        document.write("⭐")
      }
      document.write("<br>")
    }

案例(九九乘法表)

    // 打印九九乘法表
    for (let i = 1; i <= 9; i++) {
      for (let j = 1; j <= i; j++) {
        document.write(`${j}*${i}=${j * i}\n`)
      }
      document.write("<br>")
    }

数组

1.数组是什么

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

2.数组的基本使用

声明语法

字面量、构造函数

取值语法

一些术语

遍历数组(重点)

案例(数组求和)

    // 数组求和
    let array = [2, 6, 1, 7, 4]
    let sum = 0
    let average = 0
    for (let i = 0; i < array.length; i++) {
      sum = sum + array[i]
    }
    average = sum / array.length
    console.log("数组求和为:" + sum);
    console.log("数组的平均值为:" + average);

案例(数组求最大值和最小值)

  // 求数组[2,6,1,77,52,25,7]中的最大值和最小值
    let array = [2, 6, 1, 77, 52, 25, 7]
    let max = 2
    let min = 2
    // 外部循环获取整个数组的元素
    for (let i = 0; i < array.length; i++) {
      if (array[i] > max) {
        max = array[i]
      }
      if (array[i] < min) {
        min = array[i]
      }
    }
    console.log("最大值:" + max);
    console.log("最小值:" + min);
     // 求数组[2,6,1,77,52,25,7]中的最大值和最小值
    let array = [2, 6, 1, 77, 52, 25, 7]
    let temp = 0
    let max = 0
    let min = 0
    // 冒泡排序
    // 外部循环获取整个数组的元素
    for (let i = 0; i < array.length - 1; i++) {
      // 内部循环比较已经循环出来的元素的大小并对调位置
      for (let j = 0; j < array.length - i - 1; j++) {
        // 降序排列
        if (array[j] < array[j + 1]) {
          temp = array[j]
          array[j] = array[j + 1]
          array[j + 1] = temp
        }
      }
    }
    console.log(array);
    console.log("最大值:" + array[0]);
    console.log("最小值:" + array[array.length - 1]);

3.操作数组

新增

push

数组.push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度

unshift

数组.unshift(新增的内容) 方法将一个或多个元素添加到数组的开头,并返回该数组的新长度

总结

案例(数组筛选)

    // 数组筛选
    let array = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7]
    let newArray = []
    for (let i = 0; i < array.length; i++) {
      if (array[i] >= 10) {
        newArray.push(array[i])
      }
    }
    console.log(newArray);

案例(数组去0)

    let array = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7]
    let newArray = []
    for (let i = 0; i < array.length; i++) {
      if (array[i] !== 0) {
        newArray.push(array[i])
      }
    }
    console.log(newArray);

删除

pop

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

shift

数组.shift() 方法从数组中删除一个元素,并返回该元素的值

splice

数组.shift() 方法 删除指定元素

总结

综合案例(根据数据生成柱形图)

    * {
      margin: 0;
      padding: 0;
    }

    .box {
      display: flex;
      width: 700px;
      height: 300px;
      border-left: 1px solid pink;
      border-bottom: 1px solid pink;
      margin: 50px auto;
      justify-content: space-around;
      align-items: flex-end;
      text-align: center;
    }

    .box>div {
      display: flex;
      width: 50px;
      background-color: pink;
      flex-direction: column;
      justify-content: space-between;
    }

    .box div span {

      margin-top: -20px;
    }

    .box div h4 {
      margin-bottom: -35px;
      width: 70px;
      margin-left: -10px;
    }
 let box = document.getElementsByClassName("box")
    // 根据数据生成柱形图
    let array = []
    for (let i = 1; i <= 4; i++) {
      array.push(+prompt(`请输入第${i}季度的值`))
    }
    document.write(`<div class="box">`)
    for (let i = 0; i < array.length; i++) {
      document.write(`  
    <div style="height: ${array[i]}px;">
      <span>${array[i]}</span>
      <h4>第${i + 1}季度</h4>
    </div>`)
    }
    document.write(`<\div>`)

冒泡排序

    // 求数组[2,6,1,77,52,25,7]中的最大值和最小值
    let array = [2, 6, 1, 77, 52, 25, 7]
    let temp = 0
    let max = 0
    let min = 0
    // 冒泡排序
    // 外部循环获取整个数组的元素
    for (let i = 0; i < array.length - 1; i++) {
      // 内部循环比较已经循环出来的元素的大小并对调位置
      for (let j = 0; j < array.length - i - 1; j++) {
        // 降序排列
        if (array[j] < array[j + 1]) {
          temp = array[j]
          array[j] = array[j + 1]
          array[j + 1] = temp
        }
      }
    }
    console.log(array);
    console.log("最大值:" + array[0]);
    console.log("最小值:" + array[array.length - 1]);

数组排序

sort

数组.sort() 方法可以排序

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值