for 루프와 if 조건문을 조합하면 배열에 담긴 학생 데이터를 순회하면서 백분율(percentage)이 70보다 큰 학생만 골라낼 수 있습니다. 각 학생의 정보를 객체 배열로 저장한 후, 반복문 안에서 조건을 검사하고 해당 학생의 이름을 콘솔에 출력하면 됩니다.
학생 데이터 준비하기
먼저 각 학생의 이름과 백분율을 담은 배열을 만듭니다.
const studentDetails = [
{
studentName: "John",
percentage: 78
},
{
studentName: "Sam",
percentage: 68
},
{
studentName: "Mike",
percentage: 88
},
{
studentName: "Bob",
percentage: 70
}
];
위 데이터에는 네 명의 학생이 있으며, 각각의 백분율은 78, 68, 88, 70입니다. 여기서 조건은 > 70(70 초과)이므로 John(78)과 Mike(88)만 해당됩니다. 참고로 Bob은 정확히 70이므로 조건에 포함되지 않습니다.
for 루프와 if 조건문으로 필터링하기
배열의 길이만큼 반복하면서 각 학생의 백분율이 70보다 큰지 확인합니다.
for (var index = 0; index < studentDetails.length; index++) {
if (studentDetails[index].percentage > 70) {
// 조건을 만족하는 학생 처리
}
}
전체 예제 코드
아래는 위의 로직을 하나로 합친 완전한 예제입니다.
const studentDetails = [
{
studentName: "John",
percentage: 78
},
{
studentName: "Sam",
percentage: 68
},
{
studentName: "Mike",
percentage: 88
},
{
studentName: "Bob",
percentage: 70
}
];
for (var index = 0; index < studentDetails.length; index++) {
if (studentDetails[index].percentage > 70) {
console.log("백분율이 70%를 초과하는 학생 이름 = " + studentDetails[index].studentName);
}
}
프로그램 실행 방법
Node.js 환경에서 위 프로그램을 실행하려면 터미널에 다음 명령어를 입력합니다.
node fileName.js
여기서는 파일 이름을 demo68.js로 가정합니다. 실행 결과는 다음과 같습니다.
PS C:\Users\Amit\JavaScript-code> node demo68.js 백분율이 70%를 초과하는 학생 이름 = John 백분율이 70%를 초과하는 학생 이름 = Mike
추가 팁: filter() 메서드 활용하기
최신 JavaScript에서는 filter() 메서드를 사용하면 더욱 간결하게 작성할 수 있습니다.
const topStudents = studentDetails.filter(student => student.percentage > 70);
topStudents.forEach(student =>
console.log("백분율이 70%를 초과하는 학생 이름 = " + student.studentName)
);
filter()는 조건을 만족하는 요소들로 새로운 배열을 만들어 주므로, 이후 재사용이 필요한 경우에도 유용합니다.