JS基础第三天
一.for循环
1.for循环语句
for (声明记录循环次数的变量;循环条件;变化值) {
循环体
}
2.for循环和while循环有什么区别呢:
➢ 当如果明确了循环的次数的时候推荐使用for循环
➢ 当不明确循环的次数的时候推荐使用while循环
3.循环退出
continue和break的区别 :
➢continue:退出当前这次循环,后面的循环还会继续执行
➢ break:退出整个循环,后面的循环不再执行
4.for 循环嵌套
双重for循环:
for (外部声明记录循环次数的变量; 循环条件; 变化中) {
for(内部声明记录循环次数的变量; 循环条件; 变化中) {
循环体
}
}
注意:外层for循环管行数/几趟; 里层for循环管列数/一趟几次
二.数组
1.语法:
let 数组名 = [数据1, 数据2, ....,数据n]
2.索引(下标):从0开始
3.数值长度:length
4.遍历数组:
for (let i = 0; i <数组名.length; i++) {
数组名[i]
}
例子:
let nums = [10,20,30,40,50]
for (let i = 0; i < nums.length; i++) {
document.write(nums[i])
}
5.数组求和、平均值案例:
let arr = [2, 6, 1, 7, 4]
let sum = 0
for (let i = 0; i < arr.length; i++) {
sum += arr[i]
}
document.write(sum)
document.write(`<br>`)
document.write(sum / arr.length)
6.数组求最大值和最小值案例:
let arr = [100, 1000, 1, 77, 52, 25, 888888]
let max = arr[0]
let min = arr[0]
for (let i = 1; i < arr.length; i++) { //注意这里的i是1,跳过了外面已经声明的第一个(0号索引)
if (arr[i] > max) {
max = arr[i]
}
if (arr[i] < min) {
min = arr[i]
}
}
document.write(max)
document.write(`<br>`)
document.write(min)
7.查、改数组:
let arr = ['李狗蛋', '张翠花', '赵铁柱']
// 查
console.log(arr[2]);
//改
arr[1] = '王小武'
console.log(arr);
8.数组增加元素:
(1) push() 在数组结尾处增加数据
let arr = ['red', 'green']
arr.push('pink', 'blue')
console.log(arr); //'red', 'green','pink', 'blue'
(2.) unshift() 在数组开头增加数据
let arr = ['red', 'green']
arr.unshift('pink', 'blue')
console.log(arr); //'pink', 'blue','red', 'green'
9.数组删除元素:
(1) arr.pop() 从数组中删除最后一个元素
let arr = ['李狗蛋', '张翠花', '赵铁柱']
arr.pop()
console.log(arr); //['李狗蛋', '张翠花']
(2) arr.shift() 从数组中删除第一个元素
let arr1 = ['李狗蛋', '张翠花', '赵铁柱']
arr1.shift()
console.log(arr1); //[张翠花', '赵铁柱']
(3) arr.splice(起始索引, 删除几个元素) 删除几个元素的值如果不写则代表从起始位置删到最后
let arr2 = ['李狗蛋', '张翠花', '赵铁柱', '赵云', '关羽', '张飞']
arr2.splice(2, 3)
console.log(arr2); //['李狗蛋', '张翠花', '张飞']
三.冒泡排序
let arr = [2, 3, 4, 1, 5]
for (let i = 0; i < arr.length - 1; i++) { //可以直接写arr.length,但浪费性能,失去了冒泡排序的意义
for (let j = 0; j < arr.length - i - 1; j++) //可以直接写arr.length,但浪费性能,失去了冒泡排序的意义
if (arr[j] > arr[j + 1]) {
let temp = arr[j]
arr[j] = arr[j + 1]
arr[j + 1] = temp
}
}
console.log(arr);