一、循环语句
1、while 循环
1. while 循环语法:
-
while(可以是表达式,可以是循环条件){循环体}
-
执行流程
- 先判断循环条件
- 如果条件成立,则执行循环体代码
- 如果条件不成立,则结束循环语句
- 重复步骤1
- 先判断循环条件
-
循环需要具备三要素:
-
循环变量
-
循环条件(没有终止条件,循环会一直执行,造成死循环)
-
循环变量自增(用自增或者自减)
-
-
循环条件可以是如下代码:
-
关系表达式:结果一定是布尔类型
-
布尔类型值
-
其他数据:编译器会默认转成布尔类型判断是否成立
-
2. while 循环 结束语法(break与continue)
-
break与continue是用于在循环内,控制循环的
-
break:直接结束循环
-
continue:结束本次循环里continue后面的代码,继续下一次循环
2、 for 循环
1. for 循环语法
-
执行规则
-
执行语句1(声明循环变量)
-
判断语句2结果是否为true(循环条件)
-
true : 则执行循环体
- : 执行语句3(循环变量自增)
-
false:循环结束
-
-
重复步骤2
-
2. 退出循环(continue和break)
-
循环结束:
- continue:结束本次循环体,继续下次循环
- break:结束整个循环语句,跳出所在的循环(使用最多)
-
注意点:
- continue:只能用于循环语句
- break:可以用于结束循环语句 + switch-case分支语句
3. 循环嵌套
- 声明:一个循环里再套一个循环,一般用在for循环里
二、数组
- 声明:数组是一种复杂的数据类型
- 作用:可以在容器中存储多个数据
1、数组是什么
1.语法
2.注意
- 数组是按顺序保存,所以每个数据都有自己的编号
- 计算机中的编号从0开始,所以小明的编号为0,小刚编号为1,以此类推
- 在数组中,数据的编号也叫索引或下标
- 数组可以存储任意类型的数据
3.数组三要素
-
元素:数组中保存的每个数据都叫数组元素,元素可以是任何类型
-
下标:数组中数据的编号, 编号从0开始
-
长度:数组中数据的个数,通过数组的length属性获得(.length)
4.数组的内存结构由三部分组成(数组三要素)
2、数组的基本使用
1. 取值语法
- 注意:
- 通过下标取数据
- 取出来是什么类型的,就根据这种类型特点来访问
2.遍历数组
-
用循环把数组中每个元素都访问到,一般会用for循环遍历
-
语法:
3、操作数组
- 声明:数组本质是数据集合, 操作数据无非就是 增 删 改 查语法:
1. 数组增加新的数据
-
数组 .push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度 (push方法很重要)
-
语法:
-
-
数组 .unshift(新增的内容) 方法将一个或多个元素添加到数组的开头,并返回该数组的新长度
- 语法:
- 语法:
2. 数组删除元素
- 删除元素的使用场景:
- 随机抽奖,中奖的用户就需要从数组里面删除,不允许重复抽奖
- 点击删除按钮,相关的数据会从商品数据中删除
后期课程我们会用到删除操作,特别是splice
-
数组 . pop() 方法从数组中删除最后一个元素,并返回该元素的值
- 语法:
- 语法:
-
数组 .shift() 方法从数组中删除第一个元素,并返回该元素的值
- 语法:
- 语法:
-
数组 .splice() 方法 删除指定元素
- 语法:
- 语法:
- 注意:
-
start 起始位置:
- 指定修改的开始位置(从0计数)
-
deleteCount:
- 表示要移除的数组元素的个数
- 可选的。 如果省略则默认从指定的起始位置删除到最后
- deleteCount 后面可以插入新的元素
-
- 数组塌陷
-
说明:数组在执行删除操作时,删除数组单元之后,后面的数组单元会向前移动,出现在删除单元的位置上,造成数组长度减少的现象,就是数组的塌陷。
-
塌陷的影响:只要数组执行删除操作,立即就会触发数组的塌陷,数组塌陷不能阻止,我们只能消除数组塌陷造成的影响。
-
解决方法
案例一 // 删除元素为0的数值 let arr = [5, 12, 0, 8, 11, 0, 0, 0, 9, 0, 15, 20]; // 方法一 for (let i = 0; i < arr.length; i++) { if (arr[i] == 0) { arr.splice(i, 1); i--; } } console.log(arr); 案例二 // 方法二 for (let i = arr.length-1; i >= 0; i--) { if (arr[i] == 0) { arr.splice(i, 1); } } console.log(arr);
3. 数组修改元素
-
声明:重新赋值
-
语法:数组[下标] = 新值
4. 数组查询元素
- 声明:查询数组元素,或者我们称之为访问数组数据
- 语法: 数组[下标]