day03 数组

循环-for

for循环基本使用

⭐细节

  • 第一次执行for的时候,变化量(age++)是不执行的
  • 继续循环的时候,不再执行初始化过程(let age = 1),而是变化量,判断条件
  • 前置后置自增再不参与运算的时候没有差别
        for(let age = 1;age <=100; age++){
            document.write(`<p>${age}岁</p>`)
        }

		for(let age = 1;age <=100; ++age){
            document.write(`<p>${age}岁</p>`)
        }

拓展

  • 声明变量初始值,可以提到外面
  • 变化量,可以在循环体内 主动执行
let age = 1;
        //分号即使不用用也要加进入
        for( ;age<=100; ){
            console.log(age);
            age++;
        }

while与for循环的扩展

问题:什么时候使用 for循环; 什么时候使用 while循环 比较好?

  • 关注点是 循环次数,使用for循环比较好
  • 关注点是 循环条件

退出循环

break

直接结束当前循环

continue

​ 结束当前循环,进入下一次循环

​ 注意多使用调试体验过程:

debugger
for(let i = 0; i<3; i++){
            if(i === 1){
                break; //只输出0
                continue;// 输出0,1
            }
            console.log(i);
        }

循环嵌套

案例

打印年龄

注意:sum是一个初始值,不可以放在循环里面,否则每一次进入循环就会重新赋值

let sum = 0;
        // 1-100偶数和
        for(let age = 1;age <=100; age++){
            if(age % 2 == 0){
                sum+=age;
            }
        }
        console.log('sum=',sum)

乘法表和三角形

​ 乘法表和打印三角形的案例逻辑是一样的

//星星
debugger
        //多少行
    for(let i = 1; i<=5; i++){
        for(let j = 0; j < i; j++){
            //一行多少个
            document.write("⭐")
        }
        document.write("</br>")
    }

//乘法表
    // 被乘数
    for(let i = 1; i<=9; i++){
        // 乘数
        for(let j = 1; j < i; j++){
            document.write(`<div class="box">${j} * ${i} =${j*i}</div>`)
        }
        document.write("</br>")
    }

数组

数组的基本使用

语法: let names =["a","d","f","g","h","j"];

打印: console.log(names);

取值:names[0];

获取长度:console.log('数组长度为:',names.length);

小案例:

​ 这里不能写成i <= arr.length,因为i=3是arr[3] 没有值,是空值,sum会等于NaN

debugger
        let arr = [1,2,3];
        let sum = 0;
        for(let i = 0; i < arr.length; i++){
            sum += arr[i];
        }
        console.log(`总额和为:${sum}`);
        console.log(`总额平均值为:${sum / arr.length}`);

操作数组

let arr = [0,1,2,3,4];

  • arr.push(新增的内容)

    arr.push(5);

    arr.unshift(新增的内容)

    arr.unshift(12)

  • arr.pop()

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

    let arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
            arr.pop();//括号不加内容
    

    arr.shift()

    ​ 方法从数组中删除第一个元素,并返回该元素的值

    let arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
            arr.shift();
    

    ⭐arr.splice(指定修改的开始位置,删除的个数)

    ​ 删除过程:(包含起始位 ,不包含结束位)

    image-20220418165759898

    		let arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
    
    		arr.splice(arr.length-1,1); //从最后开始删,删一个,相当于pop
            console.log(arr);
    
            // 清空
            arr.splice(0,arr.length)
            console.log(arr);
    
let arr = [0,1,2,3,4];
        // 修改 数组名[下标] = 新值
        arr[2] = 5;
        console.log(arr);
  • console.log(数组名)

拓展

--数组长度等于下标+1

--未定义的数组值为undefined

数组案例

数组遍历

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

群内拓展知识

  • 当if语句里面只有一句的时候花括号可以省略不写

image-20220418103830239

  • 使用用户片段设置快捷键

image-20220421204355451

image-20220421204430443

posted @   莐亓  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示