for循环
for的格式
三要素:起始值,终止值,变化量
for(let i = 1; i <= 6; i++) {
document.write(`<h${i}>循环控制,即重复执行<h${i}>`)
}
for的中止和结束:变化量和死循环,`for` 循环和 `while` 一样,如果不合理设置增量和终止条件,便会产生死循环。
<script>
// 1. continue
for (let i = 1; i <= 5; i++) {
if (i === 3) {
continue // 结束本次循环,继续下一次循环
}
console.log(i)
}
// 2. break
for (let i = 1; i <= 5; i++) {
if (i === 3) {
break // 退出结束整个循环
}
console.log(i)
}
eg:当如果明确了循环的次数的时候推荐使用`for`循环,当不明确循环的次数的时候推荐使用`while`循环
循环嵌套
外部循环一次里面循环全部。
比如打印四行四列的星星:
<script>
for (let sum = 0; sum <4; sum++) {
for (let i = 0; i <4; i++) {
document.write('⭐')
}
document.write(`<br>`)
}
数组
(Array)是一种可以按顺序保存数据的数据类型
let arr = []
数组做为数据的集合,它的单元值(即[]里面的值用,号隔开)可以是任意数据类型
数组做为对象数据类型,不但有 `length` 属性可以使用,还提供了许多方法:
1. push 动态向数组的尾部添加一个单元
2. unshit 动态向数组头部添加一个单元
3. pop 删除最后一个单元
4. shift 删除第一个单元
5. splice(1,2)表示删除下标为1的单元格及后面一个。如果只有一个值表示删除 动态删除任意单元
使用以上4个方法时,都是直接在原数组上进行操作,即成功调任何一个方法,原数组都跟着发生相应的改变。并且在添加或删除单元时 `length` 并不会发生错乱。
遍历数组
数组都是有下标的,遍历数组都是通过数组的下标的自增来一次访问内容的
<script>
let name = ["马超","赵云","张飞","黄忠","关羽"]
for (let i = 0; i < name.length; i++) {
document.write(`${name[i]}<br>`)
}
</script>
数组求和
<script>
// 数组求和在于用一个新的容器去装arr,然后不断地把arr里面的数加进去
let ary = [1,3,5,7,9,10,11]
let sum = 0
for (let i= 0; i < ary.length; i++) {
sum += ary[i]
}
document.write(`${sum}<br>`)
let average = sum / ary.length
document.write(average)
</script>
求最大值和最小值
<script>
// 用装最大值和最小值的容器去和arr里面的依次比较然后进行换位。
let ary = [11, 55, 88, 96, 87, -1, 98, 11];
let max = ary[0];
let min = ary[0];
for (let i = 0; i < ary.length; i++) {
if (max < ary[i]) {
max = ary[i];
}
if (min > ary[i]) {
min = ary[i];
}
}
document.write(`${max}<br>`);
document.write(min);
</script>
冒泡排序
<script>
// 排序,利用双重循环挨个比较换位置进行排序。
let num =[4,8,2,7,5,10,5]
// j=1
for (let j = 0; j < num.length-1; j++) {
// length-j是因为后面的排好了就不用比较了
for (let i = 0; i < num.length-j-1; i++) {
if (num[i]>num[i+1]) {
/* let newnum = num[i]
num[i]= num[i+1]
num[i+1]=newnum */
[num[i],num[i+1]]= [num[i+1],num[i]]
}
}
}
document.write(num)
</script>
本文含有隐藏内容,请 开通VIP 后查看