반복문은 특정 조건을 반복하는 것으로, 같은 코드를 매번 사용해야 할 때 주로 사용된다.
가장 대표적인 반복문에는 For문이 있다.
알고리즘 문제에서 가장 많이 사용되는 것 중 하나가 바로 for문인 것 같다.
For문
기본 구조
for ( 시작; 종료 되는 시점; 증감 조건) {
내용
}
아주 간단한 for문을 적용하면 아래와 같다.
for ( var i = 0; i < 3; i++) {
console.log(i);
}
// output:
// 0
// 1
// 2
반복하는 변수 i는 iterate(반복하다)의 첫 글자를 따온 것으로 통상 여러 반복문을 사용해야 할 경우 i, j, k 순으로 사용한다.
출력 값을 보면 콘솔이 한 줄 씩 찍히는 것을 보아 하나씩 반복되는 것을 알 수 있다.
i가 3이 됨과 동시에, 두번째 조건이 false가 되므로 for문은 종료된다.
for문의 첫번째 인자로 받는 시작과 증감 조건을 수정하면 감소하는 반복문도 만들 수 있다.
for ( var i = 3; i > 0; i--) {
console.log(i);
}
// output:
// 3
// 2
// 1
반복문은 배열에서도 자주 쓰인다.
만약 어떤 쇼핑몰의 수 십개의 상품에 대한 가격이 일정한 비율로 증감한다면, 수작업으로 모든 내용을 바꿀 수도 있지만 반복문을 사용하면 더 쉬워진다.
var product = ["shoes", "pants", "tshirts"];
for (var i = 0; i < product.length; i++) {
console.log(product[i]);
}
// output:
// shoes
// pants
// tshirts
위의 기본 구조와 비슷한데, 가장 중요한 점은 종료되는 시점을 배열.length로 설정한 것이다.
우리는 해당 배열이 몇 개가 있는지 알 수 없으며, 언제 배열의 데이터가 추가/삭제 될지 모른다. 따라서 종료되는 시점은 늘 배열의 데이터 개수에 따라가도록 설정하는 것이 바람직하다.
중첩 반복문 (Nested Loops)
반복문 안에 또 다른 반복문이 있는 것을 중첩 반복문이라 한다.
var first = [1, 2, 3];
var second = [1, 3, 6];
for (var i = 0; i < first.length; i++) {
for (var j = 0; j < second.length; j++) {
if (first[i] === second[j]) {
console.log("중복된 숫자는", second[j]);
}
}
}
// output:
// 중복된 숫자는 1
// 중복된 숫자는 3
첫번째 for문으로 first 배열의 요소를 하나씩 돌리고, 그 안의 for문으로 second 배열의 요소를 확인한다.
그 후, if문으로 first[0] === second[0], first[0] === second[1], first[0] === second[2]를 차례대로 비교한 후, 같은 숫자가 있다면 console.log로 찍어내는 것이다.
'■ 프로그래밍 > JavaScript' 카테고리의 다른 글
배열의 반복 (1) - forEach() (0) | 2020.03.14 |
---|---|
반복문(Loop) (2) - while문 (0) | 2020.03.13 |
문자열 메소드 - slice, charAt, split, replace, indexOf (1) | 2020.03.05 |
배열(Array) (2) - 업데이트, 추가(push), 제거(pop), 배열 이어 붙이기(join, concat) (0) | 2020.03.04 |
배열(Array) (1) - 생성, 접근, length (0) | 2020.03.03 |