📔 Day 6 循环
循环
我们在生活中所做的大部分活动都充满了重复,繁琐且重复的任务可以使用循环来执行。
在执行重复性任务的编程语言中,我们使用不同类型的循环。 以下示例是 JavaScript 和其他编程语言中常用的循环。
for 循环
// for循环结构
for(初始化; 条件; 变化方式){
// code goes here
}
for(let i = 0; i <= 5; i++){
console.log(i)
}
// 0 1 2 3 4 5
for(let i = 5; i >= 0; i--){
console.log(i)
}
// 5 4 3 2 1 0
for(let i = 0; i <= 5; i++){
console.log(`${i} * ${i} = ${i * i}`)
}
0 * 0 = 0
1 * 1 = 1
2 * 2 = 4
3 * 3 = 9
4 * 4 = 16
5 * 5 = 25
const countries = ['Finland', 'Sweden', 'Denmark', 'Norway', 'Iceland']
const newArr = []
for(let i = 0; i < countries.length; i++){
newArr.push(countries[i].toUpperCase())
}
// ["FINLAND", "SWEDEN", "DENMARK", "NORWAY", "ICELAND"]
Adding all elements in the array
const numbers = [1, 2, 3, 4, 5]
let sum = 0
for(let i = 0; i < numbers.length; i++){
sum = sum + numbers[i] // 可以简写为 sum += numbers[i]
}
console.log(sum) // 15
可以基于现有数组创建新数组。
const numbers = [1, 2, 3, 4, 5]
const newArr = []
let sum = 0
for(let i = 0; i < numbers.length; i++){
newArr.push( numbers[i] ** 2)
}
console.log(newArr) // [1, 4, 9, 16, 25]
const countries = ['Finland', 'Sweden', 'Norway', 'Denmark', 'Iceland']
const newArr = []
for(let i = 0; i < countries.length; i++){
newArr.push(countries[i].toUpperCase())
}
console.log(newArr) // ["FINLAND", "SWEDEN", "NORWAY", "DENMARK", "ICELAND"]
while 循环
let i = 0
while (i <= 5) {
console.log(i)
i++
}
// 0 1 2 3 4 5
do while 循环
let i = 0
do {
console.log(i)
i++
} while (i <= 5)
// 0 1 2 3 4 5
for of 循环
如果对数组中每个元素的索引不感兴趣,那么使用for of循环遍历数组是一种非常简单的方法。
for (const element of arr) {
//
}
const numbers = [1, 2, 3, 4, 5]
for (const num of numbers) {
console.log(num)
}
// 1 2 3 4 5
for (const num of numbers) {
console.log(num * num)
}
// 1 4 9 16 25
// 将数组中的所有数字相加
let sum = 0
for (const num of numbers) {
sum = sum + num // 也可以写成 sum += num
}
console.log(sum) // 15
const webTechs = [
'HTML',
'CSS',
'JavaScript',
'React',
'Redux',
'Node',
'MongoDB'
]
for (const tech of webTechs) {
console.log(tech.toUpperCase())
}
// HTML CSS JAVASCRIPT REACT NODE MONGODB
for (const tech of webTechs) {
console.log(tech[0]) // 只获取每个元素的第一个字母,H C J R N M
}
const countries = ['Finland', 'Sweden', 'Norway', 'Denmark', 'Iceland']
const newArr = []
for(const country of countries){
newArr.push(country.toUpperCase())
}
console.log(newArr) // ["FINLAND", "SWEDEN", "NORWAY", "DENMARK", "ICELAND"]
break
Break 用于中断循环。
for(let i = 0; i <= 5; i++){
if(i == 3){
break
}
console.log(i)
}
// 0 1 2
// 如果在迭代过程中找到 3,则上述代码停止。
continue
continue 用于跳过某次循环。
for(let i = 0; i <= 5; i++){
if(i == 3){
continue
}
console.log(i)
}
// 0 1 2 4 5