항해99 온보딩 커리큘럼 3일차
반복문
for in 반복문
for (const 반복변수 in 배열 또는 객체) { // 반복 변수에는 요소의 인덱스가 들어온다
문장 // 이를 활용해서 배열 요소에 접근할 수 있다
}
const todos = ['코딩공부', '운동', '간헐적단식']
for (const i in todos) {
console.log(`${i}번째 할 일: ${todos[i]}`)
}
//출력
0번째 할 일: 코딩공부
1번째 할 일: 운동
2번째 할 일: 간헐적단식
for of 반복문
for (const 반복변수 of 배열 또는 객체) { //반복 변수에 요소의 값이 들어간다
문장
}
const todos = ['코딩공부', '운동', '간헐적단식']
for (const todo of todos) {
console.log(`오늘의 할 일: ${todo}`)
}
//출력
오늘의 할 일: 코딩공부
오늘의 할 일: 운동
오늘의 할 일: 간헐적단식
for 반복문
for (let i = 0; i < 반복 횟수; i++) { //반복 변수를 let 키워드로 선언
문장
}
for (let i = 0; i < 5; i++) {
console.log(`${i}번째 반복입니다.`)
}
// 출력
0번째 반복입니다.
1번째 반복입니다.
2번째 반복입니다.
3번째 반복입니다.
4번째 반복입니다.
for 반복문 활용 (1부터 100까지 더하기)
let output = 0
for (let i = 1; i <= 100; i++) { //i값에 1씩 더한다 (후위 증감 연산자)
output += i // output값에 i값을 더한다(복합 대입 연산자)
}
console.log(`1~100까지 숫자를 모두 더하면 ${output}입니다.`)
//출력
1~100까지 숫자를 모두 더하면 5050입니다.
while 반복문
: 불 표현식이 true이면 무한 반복이 되므로 false 값이 반드시 필요함
while (불 표현식) { // 불 표현식이 true면 계속 문장 실행
문장
}
while 반복문과 배열 함께 사용하기
let i = 0 // 변수 i를 선언하고 0을 할당
const array = [1, 2, 3, 4, 5] // 상수 array를 선언하고 배열 할당
while (i < array.length) { // 0 < 5 (위 배열의 요소 개수) 해당 불 표현식이 거짓일 때까지 반복
console.log(`${i} : ${array[i]}`) // i : 배열의 i번째 요소 (출력)
i++ // i에 1을 더하고 다음 반복 증감연산(후위)
}
//출력 (i 값이 5가 되면 위의 불 표현식이 거짓이 되므로 반복 종료)
0 : 1
1 : 2
2 : 3
3 : 4
4 : 5
break 키워드
: 반복문을 벗어날 때 사용
while (true) {
} break
for (let i = 0; true; i++) {
alert(i + '번째 반복문입니다.')
const isContinue = confirm('계속 하시겠습니까?') // 대화창에서 확인(true)을 누르면 반복 실행
if (!isContinue) { //취소(false)를 누르면 종료
break
}
}
alert('프로그램 종료')
continue 키워드
: 반복을 멈추고 처음으로 돌아가 다음 반복 작업을 진행
중첩 반복문
키워드 정리
- for in 반복문은 배열의 인덱스를 기반으로 반복할 때 사용
- for of 반복문은 배열의 값을 기반으로 반복할 때 사용
- for 반복문은 횟수를 기반으로 반복할 때 사용
- while 반복문은 조건을 기반으로 반복할 때 사용
- break 키워드는 switch 조건문이나 반복문을 벗어날 때 사용
- continue 키워드는 반복문 안의 반복 작업을 멈추고 반복문의 처음으로 돌아가 다음 반복 작업 진행
Q1.
const array = []
for (let i = 0; i < 3; i++) {
// for 반복문은 let 키워드로 변수 선언해야하므로 수정하였다
//반복 변수가 0부터 시작하므로 0~2까지 총 세번 반복된다
array.push((i+1)*3) // 변수 i 값은 0~2까지 들어가므로 위 배열에 3, 6, 9가 순차적으로 추가됨
}
console.log(array)
// 출력
[ 3, 6, 9 ]
Q2. 1부터 100까지 숫자를 곱한 값을 계산하는 프로그램 만들기
let output = 1
for (let i = 1; i <= 100; i++) {
output *= i // 변수 값에 i값을 곱한다(복합 대입 연산자)
}
console.log(`1~100까지 숫자를 모두 곱하면 ${output}입니다.`)
// 출력 이게 맞나??
9.33262154439441e+157
Q3. 피라미드 만들기
let output = ''
const size = 5
for (let i = 1; i < size+1; i++) {
for (let j = size; j > i; j--) {
output += ' '
}
for (let k = 0; k < 2 * i - 1; k++) {
output += '*'
}
output += '\n'
}
for (let i = size -1; i >0; i--) {
for (let j = size; j > i; j--) {
output += ' '
}
for (let k = 0; k < 2 * i - 1 ; k++) {
output += '*'
}
output += '\n'
}
console.log(output)
//결과 넘 어려워서 결국 답안 참고...
*
***
*****
*******
*********
*******
*****
***
*
'Development > JavaScript' 카테고리의 다른 글
JS기초_4.2(함수 고급) (0) | 2023.03.09 |
---|---|
JS기초_4.1(함수기초) (0) | 2023.03.09 |
JS 기초_3.1(배열) (4) | 2023.03.08 |
JS 기초_2(조건문) (0) | 2023.03.07 |
JS 기초_1 (0) | 2023.03.07 |