JavaScript 第三天
JavaScript 基础第三天 — for 循环 和 array数组
1. for循环基本使用:
for循环也是重复执行代码
好处: 把声明起始值、循环条件、变化值写到一起,一目了然
如果明确循环次数的时候使用for循环
不明确循环次数的时候使用while循环
1
2
3for (声明变量; 循环条件; 变化值) {
// 循环体
}for 输出1到100偶数之间的和
1
2
3
4
5
6let num1 = 0
for (let num2 = 1; num2 <= 100; num2++) {
if (num2 % 2 === 0) {
num1 += num2
}
}for循环 最大优势是遍历数组
1
2
3
4
5
6let num1 = ['pink', 'blue', 'green']
// num1.length和<=3的区别
// for (let num2 = 0; num2 <= 3; num2++) {
for (let num2 = 0; num2 < num1.length; num2++) {
document.write(num1[num2])
}
2. 循环退出:
continue:结束本次循环,继续下次循环
break:直接结束本次循环
1
2
3
4
5
6
7for (let num1= 1; num1 <= 6; num1++) {
if (num1 === 3) {
// continue 退出本次循环, 继续下次循环
// break 直接结束本次循环
}
document.write(num1)
}
3. for 循环嵌套:
1 | 一个循环里再套一个循环,一般用在for循环里 |
- 使用 for 嵌套 用户输入后打印几行几列星星
1 | let num1 = prompt('请输入多少列个星') |
- 打印倒三角形星星, 外循环控制行, 内循环控制列打印几个 内循环个数跟第几行是一一对应的
1 | for (let num1 = 1; num1 <= 5; num1++) { |
- 使用for 嵌套 打印九九乘法表
1 | for (let num1 = 1; num1 <= 9; num1++) { |
4. 数组的基本使用:
- 数组(Array)是一种可以按顺序保存数据的数据类型
- 在数组中,数据的编号也叫索引或下标
- 数组是按顺序保存,每个数据都有自己的编号
- 数组可以存储任意类型的数据
- 如果有多个数据可用数组保存
- 计算机中的编号从0开始,第一个编号为0,第二个编号为1,以此类推
1 | let 数组名 = [数据1, 数据2, 数据3] |
通过下标取数据
取出来什么类型,就根据这种类型特点来访问
1 | let num = [1, 2, 3] |
元素:数组中保存的每个数据都叫数组元素
下标:数组中数据的编号
长度:数组中数据的个数,通过数组的length属性获得
1 | let num ['pink', 'blue', 'green'] |
5. for 遍历数组:
- 用循环把数组中每个元素都访问到,一般会用for循环遍历
1 | for (let i = 0; i < 数组名.length; i++) { |
1. 使用for循环 求数组的 和/平均值
- 声明一个求和变量 num2
- 遍历这个数组,把里面每个数组元素加到 num2 里面
- 用求和变量 num2 除以数组的长度得到数组的平均值
1 | let num1 = [2, 6, 1, 7, 4] |
2. 使用for循环 求数组最大值
- 声明一个保存最大元素的变量 num2
- 默认最大值可以取数组中的第一个元素
- 遍历这个数组,把每个数组元素和 num2 相比较
- 如果这个数组元素大于num2 就把这个数组元素存到 num2 里面,否则继续下一轮比较
- 最后输出这个 num2
1 | let num1 = [2, 6, 1, 77, 52, 25, 7] |
3. 使用for循环 求数组中大于等于5的和 45
1 | let num1 = [4, 9, 5, 20, 3, 11] |
4. 使用for循环 计算以下数组中能被3整除的偶数的和 24
1 | let num1 = [2, 6, 18, 15, 40] |
6. 操作数组:
- 数组本质是数据集合, 操作数据无非是增、删、改、查
- 查: 查询数组数据, 数组[下标], 称为访问数组数据
- 改: 重新赋值, 数组[下标] = 新值
- 增: 数组添加新数据, arr.push(新增内容)、arr.unshift(新增内容)
- 删: 删除数组中数据, arr.pop()、arr.shift()、arr.splice(操作下标,删除个数)
1. 增:数组增加新的数据
- 数组.push():将一个或多个元素添加到数组的末尾,并返回该数组的新长度 (重点💖)
1 | let num1 = [1, 2] |
- arr.unshift(新增的内容):将一个或多个元素添加到数组的开头,并返回该数组的新长度
1 | let num1 = [1, 2] |
1. 数组筛选, 将数组中大于等于10的元素选出来, 放入新数组
- 声明一个新数组用于存放新数据 num2
- 遍历原来的旧数组, 找出大于等于10的元素
- 依次追加给新数组num2
1 | let num1 = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7] |
2. 数组去0, 将数组中0去掉, 形成不包含0的新数组
- 声明一个新数组用于存放新数据num2
- 遍历原来的旧数组, 找出不等于0的元素
- 依次追加给新数组num2
1 | let num1 = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7] |
2. 删: 数组删除元素
- 数组. pop(): 从数组中删除最后一个元素, 并返回该元素的值
- 数组. shift(): 从数组中删除第一个元素, 并返回该元素的值
- 数组. splice(): 删除指定元素
- start: 起始位置, 指定修改的开始位置 (从0计数)
- deletecount: 删除数组的个数, 省略则默认从指定起始位置删除到最后
1 | let num1 = [10, 20, 30] |
3. 删除元素的使用场景:
- 开发很常用, 比如随机抽奖、删除指定商品…
- 随机抽奖, 中奖用户需要从数组里删除, 不允许重复抽奖
- 点击删除按钮, 相关数据会从商品数据中删除 后期会用到删除操作, 特别是splice
7. 冒泡排序:
- 冒泡排序是一种简单的排序算法
- 它重复的走访要排序的数列, 一次比较两个元素, 如果它们顺序错误就把它交换过来, 走访数列的工作是重复的进行直到没有再需要交换, 也就是说该数列已经排序完成
- 这个算法名字由来是因为越小元素会由交换慢慢 ‘浮’ 到数列的顶端
- 比如数组 [2,3,1,4,5] 经过排序成为了 [1,2,3,4,5] 或者 [5,4,3,2,1]
1 | let num1 = [5, 4, 3, 2, 1] |
8. 根据输入数据生成柱形图
- 需要输入4次,所以把4个数据放到一个数组里 num1[]
- 利用循环,弹出4次输入框,同时存到数组里面 num1[]
- 遍历改数组,根据数据生成4个柱形图,渲染打印到页面中
- 柱形图就是div盒子, 设置宽度固定, 高度是用户输入的数据
- div里面包含显示的数字和第N季度
1 | // 用循环弹出四次输入框, 会得到4个数据,放到num1数组里 |
9. 本节单词:
- for
- array
- arr
- push
- unshift
- pop
- shift
- splice
- continue
- break
- start
- deletecount
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小城故事!
评论