본문으로 건너뛰기

[TypeScript] for of 와 for in 반복문

  author: Dev.ian
createdAt: 2021-10-10
updatedAt: 2021-10-10

반복의 주체가 값(for...of)인가, 순서(for...in)인가에 따라 다르게 사용한다.

for of

  • 타입과 관계없이 배열에 담긴 을 순서대로 얻을 때 사용한다.

      const plArr: any = ['Java', 'Kotlin', 'Typescript', 'Javascript'];
    for (const pl of plArr) {
    console.log(`${pl}`);
    }
      [Result]
    Java
    Kotlin
    Typescript
    Javascript
      const numArr: any = [1, 3, 5, 7, 9];
    for (const num of numArr) {
    console.log(`${num}`);
    }
      [Result]
    1
    3
    5
    7
    9

for in

  • 배열의 순서(인덱스Index) 를 얻을 때 사용

      const plArr: any = ['Java', 'Kotlin', 'Typescript', 'Javascript'];
    for (const idx in plArr) {
    const content: string = plArr[idx];
    console.log(`${content} : ${idx}`);
    }
      [Result]
    Java : 0
    Kotlin : 1
    Typescript : 2
    Javascript : 3

forEach

  • callback 함수를 이용한 반복문 처리

      const plArr: any = ['Java', 'Kotlin', 'Typescript', 'Javascript'];
    // arr === plArr
    plArr.forEach((value, index, arr) => { // value: 현재 값, index: 순서, arr: 원래의 배열
    console.log(`${value} : ${index}`);
    });
      [Result]
    Java : 0
    Kotlin : 1
    Typescript : 2
    Javascript : 3

그외의 반복문

for

  • 기본적인 for 문을 이용한 반복처리
  const plArr: any = ['Java', 'Kotlin', 'Typescript', 'Javascript'];
for (let idx = 0; idx < plArr.length; idx++) {
const content: string = plArr[idx];
console.log(`${content} : ${idx}`);
}
  [Result]
Java : 0
Kotlin : 1
Typescript : 2
Javascript : 3

whlie

  • 기본적인 while 문을 이용한 반복처리
  const plArr: any = ['Java', 'Kotlin', 'Typescript', 'Javascript'];
let idx: number = 0;
while(idx < plArr.length) {
const content: string = plArr[idx];
console.log(`${content} : ${idx}`);
idx++;
}
  [Result]
Java : 0
Kotlin : 1
Typescript : 2
Javascript : 3

do whlie

  • 기본적인 do while 문을 이용한 반복처리
  const plArr: any = ['Java', 'Kotlin', 'Typescript', 'Javascript'];
let idx: number = 0;
do {
const content: string = plArr[idx];
console.log(`${content} : ${idx}`);
idx++;
} while(idx < plArr.length)
  [Result]
Java : 0
Kotlin : 1
Typescript : 2
Javascript : 3