12.27---课堂案例

44 阅读2分钟
  1. 求数组内所有成员的和

  2. 求数组内最大的数字

    var arr = [9, 5, 6, 11, 8, 4, 3]
    
  3. 求数组内所有成员的和

1.1 先想办法拿到所有的成员 1.2 计算所有的和

思考:

如何拿到所有的成员?

用 循环 模拟数组的所有下标, 从而拿到所有的成员

   var sum = 0
     for (var i = 0; i < arr.length; i++) {
   console.log(i)  // 输出的是我们模拟的数组下标
   console.log(arr[i]) // 输出的是 数组的所有成员

    sum = sum + arr[i]
     sum += arr[i]
   }
    console.log(sum)    // 46

2. 求数组内最大的数字

2.1 先想办法拿到数组所有的成员

2.2 然后去成员中 找出最大的值

    var arr = [9, 5, 6, 11, 8, 4, 3]

    var max = arr[0]    // 假设 数组下标为 0 的值, 是最大的, 然后存储在 变量 max 中
    for (var i = 1; i < arr.length; i++) {
        if (max < arr[i]) { // 如果我假设的最大值, 小于 数组中的某一项, 那么会执行这个分支语句的代码
            max = arr[i]    // 将数组中的较大的值, 重新赋值给 变量 max
        }
    }

    console.log(max)    // 11

    
     第一次执行 for 循环
          i === 0     max === 9
       循环执行条件 i < arr.length     i < 7       符合条件, 开始执行循环
              
           循环内部的代码: if (max < arr[i])
                           if ( 9 < 9 )        所以分支语句不会执行
       i++
   
  第二次执行 for 循环
        i === 1     max === 9
        循环执行条件 i < arr.length     i < 7       符合条件, 开始执行循环
    
              循环内部的代码: if (max < arr[i])
                            if (9 < 5)          所以分支语句不会执行
          i++
     
    第三次执行 for 循环
         i === 2     max === 9
         循环执行条件 i < arr.length     i < 7       符合条件, 开始执行循环
    
            循环内部的代码: if (max < arr[i])
                             if (9 < 6)          所以分支语句不会执行
           i++
    
    第四次执行 for 循环
        i === 3     max === 9
        循环执行条件 i < arr.length     i < 7       符合条件, 开始执行循环
    
             循环内部的代码: if (max < arr[i])
                            if (9 < 11)         此时条件成立, 执行分支语句的代码, 也就是 max = arr[i]
          i++
    
     第五次执行 for 循环
         i === 4     max === 11
         .......