for循环和数组的使用

116 阅读2分钟

JS基础第三天

一.for循环

1.for循环语句

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

2.for循环和while循环有什么区别呢:

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

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

3.循环退出

continue和break的区别 :

➢continue:退出当前这次循环,后面的循环还会继续执行

➢ break:退出整个循环,后面的循环不再执行

4.for 循环嵌套

双重for循环:

for (外部声明记录循环次数的变量; 循环条件; 变化中) {
    for(内部声明记录循环次数的变量; 循环条件; 变化中) {
        循环体
    }
}

注意:外层for循环管行数/几趟; 里层for循环管列数/一趟几次

二.数组

1.语法:

let 数组名 = [数据1, 数据2, ....,数据n]

2.索引(下标):从0开始

3.数值长度:length

4.遍历数组:

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

例子:

let nums = [10,20,30,40,50]
for (let i = 0; i < nums.length; i++) {
    document.write(nums[i])
}

5.数组求和、平均值案例:

 let arr = [2, 6, 1, 7, 4]
        let sum = 0
        for (let i = 0; i < arr.length; i++) {
            sum += arr[i]
        }
        document.write(sum)
        document.write(`<br>`)
        document.write(sum / arr.length)

6.数组求最大值和最小值案例:

 let arr = [100, 1000, 1, 77, 52, 25, 888888]
        let max = arr[0]
        let min = arr[0]
        for (let i = 1; i < arr.length; i++) {  //注意这里的i是1,跳过了外面已经声明的第一个(0号索引)
            if (arr[i] > max) {
                max = arr[i]
            }
            if (arr[i] < min) {
                min = arr[i]
            }
        }
        document.write(max)
        document.write(`<br>`)
        document.write(min)

7.查、改数组:

  let arr = ['李狗蛋', '张翠花', '赵铁柱']

        // 查
        console.log(arr[2]);

        //改
        arr[1] = '王小武'
        console.log(arr);

8.数组增加元素:

(1) push() 在数组结尾处增加数据

  let arr = ['red', 'green']
        arr.push('pink', 'blue') 
        console.log(arr); //'red', 'green','pink', 'blue'

(2.) unshift() 在数组开头增加数据

 let arr = ['red', 'green']
        arr.unshift('pink', 'blue') 
        console.log(arr); //'pink', 'blue','red', 'green'

9.数组删除元素:

(1) arr.pop() 从数组中删除最后一个元素

   let arr = ['李狗蛋', '张翠花', '赵铁柱']
      arr.pop()
      console.log(arr); //['李狗蛋', '张翠花']

(2) arr.shift() 从数组中删除第一个元素

 let arr1 = ['李狗蛋', '张翠花', '赵铁柱']
        arr1.shift()
        console.log(arr1); //[张翠花', '赵铁柱']

(3) arr.splice(起始索引, 删除几个元素) 删除几个元素的值如果不写则代表从起始位置删到最后

let arr2 = ['李狗蛋', '张翠花', '赵铁柱', '赵云', '关羽', '张飞']
        arr2.splice(2, 3)
        console.log(arr2); //['李狗蛋', '张翠花', '张飞']

三.冒泡排序

 let arr = [2, 3, 4, 1, 5]
        for (let i = 0; i < arr.length - 1; i++) {  //可以直接写arr.length,但浪费性能,失去了冒泡排序的意义
            for (let j = 0; j < arr.length - i - 1; j++)  //可以直接写arr.length,但浪费性能,失去了冒泡排序的意义
                if (arr[j] > arr[j + 1]) {
                    let temp = arr[j]
                    arr[j] = arr[j + 1]
                    arr[j + 1] = temp
                }
        }
        console.log(arr);