JavaScript 루프에서 시퀀스 번호 얻기
JavaScript에서 반복문을 실행하면서 순차적인 번호(시퀀스 넘버)를 얻으려면 forEach() 메서드를 활용하면 됩니다. 카운터 역할을 하는 변수를 하나 선언한 뒤, 루프가 실행될 때마다 값을 증가시키면 각 항목에 대한 연속된 번호를 손쉽게 출력할 수 있습니다.
다음은 중첩된 배열 구조에서 forEach()를 사용해 시퀀스 번호를 생성하는 예제 코드입니다.
예제 코드
let studentDetails =
[
{
id: 101, details: [{name: 'John'}, {name: 'David'},{name: 'Bob'}]},
{id:102, details: [{name:'Carol'},{name:'David'},
{name:'Mike'}]
}
];
var counter = 1;
studentDetails.forEach(function(k){
k.details.forEach(function(f) {
console.log(counter++);
});
});코드 설명: 바깥쪽 forEach()는 studentDetails 배열의 각 학생 객체를 순회하고, 안쪽 forEach()는 각 학생의 details 배열에 담긴 이름 데이터를 하나씩 처리합니다. 이때 counter++를 통해 후위 증가 연산자가 현재 값을 먼저 반환한 후 1씩 증가시키므로, 총 6개의 이름 항목에 대해 1부터 6까지의 시퀀스 번호가 순서대로 출력됩니다.
실행 방법
위 프로그램을 실행하려면 Node.js 환경에서 다음 명령어를 입력합니다.
node fileName.js
출력 결과
여기서는 파일 이름이 demo159.js인 경우를 가정합니다. 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.
PS C:\Users\Amit\JavaScript-code> node demo159.js 1 2 3 4 5 6
이처럼 forEach()와 카운터 변수만 있으면 별도의 인덱스 계산 없이도 반복문 내에서 원하는 시퀀스 번호를 간단하게 얻을 수 있습니다.