循环和数组
循环for**-基本使用**
1. for循环语法
也是重复执行代码
好处:把声明起始值、循环条件、变化值写到一起,让人一目了然
案例:
<script>
// 求偶数的和
let num= 0;
for (let index = 1; index <=100; index++) {
if(index%2==0) {
num = num + index;
}
}
console.log(num);
/* for (let index = 1; index <=500; index++) {
document.write('<div>🔻</div>')
} */
</script>
1.2 循环退出
循环结束:
continue:结束本次循环,继续下次循环
break:跳出所在的循环
1.3 for 循环嵌套
案例:
<script>
// 3天背单词
/* for (let index = 1; index <=3; index++) {
document.write(`第${index}天<br/>`)
for (let index1 = 1; index1 <=5; index1++) {
document.write(`第${index1}个单词 <br/>`)
}
} */
// 用户决定天数和单词数
let num = +prompt('要被多少天')
let num1 = +prompt('一天打算背多少个')
for (let index = 1; index <=num; index++) {
document.write(`第${index}天<br/>`)
for (let index1 = 1; index1 <=num1; index1++) {
document.write(`第${index1}个单词 <br/>`)
}
}
</script>
数组
2.1 数组是什么
数组(Array)是一种可以按顺序保存数据的数据类型
为什么要数组?
如果有多个数据可以用数组保存起来
2.2 数组的基本使用
<script>
// <!-- 0 1 2 3 4 5 -->
let atr = ['你好','嘿嘿','公共','啊啊','擦擦','人人'];
console.log(atr);
// 定位输出
console.log(atr[3]);
</script>
数组是按顺序保存,所以每个数据都有自己的编号
计算机中的编号从0开始,所以小明的编号为0,小刚编号为1,以此类推
在数组中,数据的编号也叫索引或下标
数组可以存储任意类型的数据
案例:
求数组 [2,4,5,7,2] 里面所有元素的和
<script>
let arr = [2,4,5,7,2];
let num = 0;
for (let index = 0; index < arr.length; index++) {
num += arr[index]
}
console.log(num);
</script>
案例:
求数组 [2,33,44,6,7,99,1] 中的最大值
<script>
let arr = [2,33,44,6,7,99,1];
// 假设一个最大值为第一个
let num = arr[0]
for (let i = 0; i < arr.length; i++) {
// 当arr[i]大于num的时候,num就等于arr[i],一直循环下去就能找到最大值了
if (arr[i] > num) {
num = arr[i]
}
}
document.write(num)
2.3 操作数组
arr.push实例:
arr.push是把元素添加到结尾的**
<script>
// push 是添加到结尾的
let arr = [];
for (let index = 0; index <=4; index++) {
let num = +prompt('请输入')
arr.push(num)
}
console.log(arr);
</script>
arr.pop实例:
从数组中删除最后一个元素
<script>
let arr = [12,44,55,66,77,9,5,34,23,4]
arr.pop();
document.write(arr)
</script>
arr.unshift实例:
arr.unshift是给元素加在数组的开头的
<script>
let arr = ['black', 'red'];
// push 是把新的元素 设置到 数组的末位
// arr.push('yellow');
// unshift 是把新的元素 设置到数组的开头
arr.unshift("yellow");
console.log(arr);
/*
数组添加元素的总结
1 两种元素添加元素的方式
push 末位
unshift 开头添加元素
2 在开发中 push 用得最多 , unshift 了解即可
*/
</script>
arr.splice实例:
解释:
start 起始位置:
指定修改的开始位置(从0计数)
deleteCount:
表示要移除的数组元素的个数
可选的。 如果省略则默认从指定的起始位置删除
到最后
<script>
let arr = ['西瓜', '香蕉', '麻瓜'];
// 现在想要删除 香蕉
// splice("想要删除的元素的下标","想要删除几个");
// 删除数组中的下标为1的元素,
// 从 1 的位置开始 想要删除几个
// arr.splice(1, 2);
//
// console.log(arr);
// 指定位置来插入元素
// splice("想要删除的元素的下标","想要删除几个","在该下标位置添加元素");
// 在 1的位置,删除0个元素,增加一个红薯
// let arr = ['西瓜', '香蕉', '麻瓜'];
// ['西瓜', '红薯', '香蕉', '麻瓜'];
arr.splice(1, 1, '红薯');
console.log(arr);
</script>
arr.shift实例:
从数组中删除第一个元素
<script>
let arr = ['西瓜', '香蕉', '麻瓜'];
// 希望删除掉第一个元素
arr.shift();
console.log(arr);//
</script>
案例:
将数组 [11,22,1,3,4,66,7,888,5,33,3,2] 中大于等于 10 的元素选出来,放入新数组
// 将数组中大于10的元素选出来,放进新数组
let num = [11,22,1,3,4,66,7,888,5,33,3,2];
let num1 = [];
for (let i = 0; i < num.length; i++) {
if (num[i] > 10) {
num1[num1.length] = num[i]
}
}
document.write(num1)
案例:
将数组 [234,4,5,6,0,0,4,0,543,0,7,8,0,6,9,7,97,7,6,7,44,4,1] 中的 0 去掉后,形成一个不包含 0 的新数组
<script>
let arr = [234,4,5,6,0,0,4,0,543,0,7,8,0,6,9,7,97,7,6,7,44,4,1]
let num = [];
for (let i = 0; i < arr.length; i++) {
if (arr[i] !== 0) {
num[num.length] = arr[i]
}
}
document.write(num)
</script>