JavaScript에서 객체로 이루어진 배열이 있을 때, 특정 조건에 맞는 값만 골라서 가져와야 하는 경우가 자주 있습니다. 예를 들어 직원 목록에서 이름이 "John"인 사람만 찾고 싶다면 어떻게 해야 할까요? 이번 글에서는 for 반복문을 활용해 객체 배열에서 원하는 값을 추출하는 방법을 알아보겠습니다.
예제 데이터: 객체 배열 만들기
먼저 아래와 같이 직원 정보를 담은 객체 배열이 있다고 가정해 보겠습니다.
const details = [
{
employeeFirstName: "John",
employeeLastName: "Doe"
},
{
employeeFirstName: "David",
employeeLastName: "Miller"
},
{
employeeFirstName: "John",
employeeLastName: "Smith"
}
];이 배열에는 세 명의 직원 정보가 들어 있으며, 각 객체는 employeeFirstName(이름)과 employeeLastName(성) 두 개의 속성을 가지고 있습니다.
특정 값 추출하기 – 이름이 "John"인 직원 찾기
이제 배열을 순회하면서 이름(employeeFirstName)이 "John"인 객체만 골라내는 코드를 작성해 보겠습니다.
const details = [
{
employeeFirstName: "John",
employeeLastName: "Doe"
},
{
employeeFirstName: "David",
employeeLastName: "Miller"
},
{
employeeFirstName: "John",
employeeLastName: "Smith"
}
];
for (var index = 0; index < details.length; index++) {
if (details[index].employeeFirstName === "John") {
console.log("FirstName=" + details[index].employeeFirstName + " LastName= " + details[index].employeeLastName);
}
}코드 동작 원리
- for 반복문:
details.length만큼 배열을 처음부터 끝까지 순회합니다. - if 조건문: 각 객체의
employeeFirstName값이 "John"과 일치하는지(===) 확인합니다. - console.log(): 조건이 참인 경우 해당 직원의 이름과 성을 콘솔에 출력합니다.
프로그램 실행 방법
위 코드를 작성한 후 Node.js 환경에서 아래 명령어로 실행할 수 있습니다.
node fileName.js
여기서는 파일 이름이 demo223.js라고 가정하겠습니다.
실행 결과
프로그램을 실행하면 다음과 같이 이름이 "John"인 직원 두 명의 정보가 출력됩니다.
PS C:\Users\Amit\JavaScript-code> node demo223.js FirstName=John LastName= Doe FirstName=John LastName= Smith
마무리 및 추가 팁
이처럼 for 반복문과 if 조건문을 조합하면 객체 배열에서 원하는 값을 손쉽게 필터링할 수 있습니다. 실무에서는 가독성과 유지보수를 위해 filter(), find() 같은 배열 메서드를 사용하는 것도 좋은 선택입니다. 예를 들어 위 코드는 다음과 같이 더 간결하게 표현할 수 있습니다.
const johns = details.filter(item => item.employeeFirstName === "John"); console.log(johns);
상황에 맞는 방법을 선택해 활용해 보시기 바랍니다.