1.循环嵌套:
for循环
基本使用:
重复执行代码
好处:
把循环变量初始化,循环条件,变量更新重新写到一起,让人一目了然,他是最长使用的循环形式.
语法:
- for(语句1;语句2;语句3){
- 循环体代码
- }
执行规则:
1.执行循环变量初始化(只会执行一次)
2.循环条件判断是否成立
2.1成立:执行循环体代码,执行循环变量更新
2.2不成立:循环结束
for循环:
掌握for循环重复执行 某些代码
退出循环:
1.continue 退出本次循环,一般用于排除或者跳过某一个选项的时候,可以 使用continue 或者说是 结束本次循环体,立即进入下一次循环判断(只是某 一次循环体不执行)
2.break 退出整个for循环,一般用于结果已经得到,后续的循环不需要的时 候可以使用 或者说是 结束整个循环语句:break可以用于循环语句+switch-case语句 continue 结束本次循环体,立即进入下一次循环判断(只是某一次循环体不 执行)跳过 break 结束整个循环 直接从条件的上一个数字结束
continue可以用于while for 循环;结束本次循环
break可以用于 while for 循环及switch语句;结束整个循环
扩展:
while for 循环语句构造死循环
while死循环
for死循环,没有起始值,也没有结束值
for循环与while循环的区别:
如果明确循环次数,使用for。实际开发中for用的比较多
没有明确循环次数,使用while。
双层for循环
循环嵌套:
for循环 一个循环里面在套一个循环,一般用在for循环里
语法:
- 外层循环
- for(变量初始化;循环条件;变量更新){
- 内层循环
- for(变量初始化;循环条件;变量更新){
- 循环体
- }
- }
数组 :
Array 是一种可以按顺序保存数据的数据类型(复杂数据类型)
存储多个数据
声明语法:
- 1.let 数组名 = [数据1,数据2,....,数据n]
- 2.let arr = new Array(数据1,数据2,..*数据n)new关键字js高级详细讲解
列:
- 3.let names = ['小明','小刚','小红','小丽','小米']
基本语法:
1.字面量[]推荐使用的方式,数组元素之间使用逗号隔开
- let arr = ['1','2','3','4']
- console.log(arr)
2.使用构造函数 new关键字声明new关键字js高级详细讲解
- let array = new Array('1','2','3','4')
- console.log(array)
3.数组取值 数组名[下标]
数组的下标是从0开始,数据的编号称为下标(索引)
- console.log(arr[3])
- console.log(arr[0])
4.获取数组长度 数组名.length(length长度)
数组长度是从1开始
- console.log(arr.length)
5.通过索引号为数组里面的元素重新赋值
- arr[5] = '5'
- arr[6] = '6'
- console.log(arr)
6.数组三要素(专业术语)
数组中保存的数据,就叫做元素
元素的位置就叫下标(数组的下标从0开始)
数组中的元素数量(数组的长度从1开始)
最大下标:最大下标 = 数组的长度 - 1
- console.log(arr[arr.length - 1])
7.扩展知识:数组元素的值可以存储任意的数据类型
- let arr1 = ['html',20,undefined,null,true]
- console.log(arr1)
数组遍历(重点)
for循环最大的价值就是循环数组
数组的下标从0开始 并且是连续的,可以使用for循环得到数组里面的下标
数组遍历就是一个固定的for循环
语法:
- for(let i = 0;i < 数组名,length;i++){
- 数组名[下标]
- }
数组本质是数据集合,操作数据无非就是 增删改查语法:
1.查 查询数组数据 数组[下标] 访问数组数据
2.改 重新赋值 数组[下标] = 新值
3.增 数组添加新的数据 arr.push(新增数据) arr.unshift(新增内容)
4.删 删除数组中数据 arr.pop() arr.shift() arr.splice(操作的下标,删除的个数)
- let arr = ['11','22','33','44']
查 查询数组数据 数组[下标]
- console.log(arr)
- console.log(arr[2])
1.如果下标存在,则是获取数组元素的值
2.如果下标不存在,则是获取undefined
改 重新赋值 数组[下标] = 新值
- arr[1] = 55
- arr[4] = 66
- console.log(arr)
1.如果下标存在,则是修改元素的值
2.如果下标不存在,则是新增元素
增 数组添加新的数据 arr.push(新增数据) arr.unshift(新增内容)
数组名.push(新增的元素):末尾新增元素,可以添加一个或者多个元素 重点
数组名.unshift(新增的元素):头部新增元素,可以添加一个或者多个元素
数组名.push(新增的元素):末尾新增元素
push 有返回值 返回数组的长度
数组名.unshift(新增的元素):头部新增元素
删 数组操作 删除元素
数组名.pop():删除最后一个元素
数组名.shift():删除第一个元素
数组名.splice(下标,数量):从指定下标开始删除元素(重点)
splice 起始位置删除的个数 array.splice(1,1) 从下标1的位置开始删除,只会删 除一个 array.splice(1)
数组排序:
数组名.sort()
会直接修改原数组
底层使用的算法是 就地算法
1. 升序排序(从小到大)
2. 降序排序(从大到小)
3. 获取数组最大值和最小值