자바스크립트 반복문(loop)
- 반복문은 어떤 것을 반복적으로 시행할 때 빠르고 간편한 방법을 제공한다.
- 자바스크립트에서 지원하는 반복문은 'for 문', 'do..while 문', 'while', 'for..in 문', 'for..of 문', 'break 문', 'continue 문' 등이 있다.
for 문
- for 반복문은 어떤 특정한 조건이 거짓으로 판별될 때까지 반복한다.
for ([초기문]; [조건문]; [증감문]) {
}
let count = 1;
for (let i = 0; i <= 5; i++) {
count = count++;
}
for 문 내부 조건문
const home = "대전";
const cities = ["서울", "대전", "대구", "부산", "광주", "제주도"];
for (let i = 0; i <= 5; i++) {
if (cities[i] === home) {
console.log("아, "+ cities[i] +" 사시는군요");
}
}
- i 가 0일 때, cities[0] 과 home 을 비교 ("서울" === "대전")
=> false 이므로 if 문 {} 내부로 들어가지 않고 i 가 0일때의 for 문 끝!
- 다음, i 가 1이 증가하여 i 가 1이 되면, cities[1] 과 home 을 비교 ("대전" === "대전")
=> true 이므로 if 문이 실행!
- 이렇게 i 가 5가 될 때까지 if 조건을 확인하면서 for 문이 실행되고 종료 조건을 만족하면 반복이 마무리!
for 문과 배열
- 프론트엔드 코드에서 직접 배열을 생성하지 않고 외부로 받아오는 경우, 배열이 너무 길어서 길이를 셀 수 없는 경우가 있다.
- 배열의 길이를 알고 싶을 때
length
를 쓴다.
let cities = ["서울", "대전", "대구", "부산", "광주", "제주도"];
console.log(cities.length)
for (let i = 0; i < cities.length; i++) {
if (cities[i] === home) {
console.log("아, "+ cities[i] +" 사시는군요");
}
}
- 비교 연산자는 <=이 아닌 <를 사용한다. (배열의 길이는 6이므로 총 6번의 반복문이 실행되어야 하기 때문!)
- i 는 0부터 5까지 총 6번이 실행되어야 하므로 배열의 길이보다 작을때까지 반복문을 실행한다.
*만약 <= 작거나 같다는 비교연산자를 사용하면 i 는 0,1,2,3,4,5,6 까지 실행되어 총 7번의 반복문을 실행한다.
Assignment
- findSmallestElement 의 arr 인자는 숫자 값으로만 이루어진 배열
- arr 의 값들 중 가장 작은 값을 리턴.
- 만일 arr 가 비어있으면 0을 리턴.
function findSmallestElement(arr) {
if (arr.length === 0) {
return 0;
}
let smallestNumber = arr[0];
for(let i = 0; i < arr.length; i++) {
if(smallestNumber > arr[i]) {
smallestNumber = arr[i]
}
}
return smallestNumber;
}