배열을 순회하면서 특정 값에서만 출력하고, 나머지 값에서는 특정 문구를 출력하고 싶을 때의 처리 방법.
for (let i = 0; i < list.length; i++) {
if (list[i] === 'apple') {
console.log('사과를 찾았습니다!');
} else {
console.log('사과가 아닙니다.');
}
}
➡ 이렇게 작성하면 배열의 길이만큼 "사과가 아닙니다."가 반복 출력된다.
조건 판단은
for문 내부, 결과 출력은for문 외부에서 수행한다.
let idCheck = false;
for (let i = 0; i < list.length; i++) {
if (list[i] === 'apple') {
idCheck = true;
break; // 찾았으면 반복 중단
}
}
if (idCheck) {
console.log('🍎 사과를 찾았습니다!');
} else {
console.log('⚠️ 사과를 찾지 못했습니다.');
}
| 구분 | 설명 |
|---|---|
| ❌ if문에서 직접 반환 금지 | 반복문으로 인해 문구가 여러 번 출력됨 |
| ✅ 플래그 변수(flag) | 조건 충족 여부를 저장 (let idCheck = false) |
| 🧾 최종 출력 위치 | 반복문 종료 후 if문으로 단 한 번만 출력 |
데이터베이스를 간결하게 설계하고, 자바스크립트 로직으로 구현하는 핵심 단계
| 단계 | 설명 | 예시 |
|---|---|---|
| ① 속성명 찾기 | 저장할 데이터의 속성 정의 | 회원명, 아이디, 주문번호 등 |
| ② 데이터 분리 (중복 배제) | 같은 데이터는 하나의 테이블에만 존재하도록 분리 | 회원 테이블 / 주문 테이블 |
| ③ 연관 관계 설정 | 분리된 자료 간 관계 정의 | 회원 ID ↔ 주문의 회원 ID |
| ④ JS 데이터 구조 변환 | 표를 JS 객체 및 배열로 표현 | { id: 1, name: '홍길동' } |
각 테이블(배열)은 반드시 유일한 식별 코드를 가져야 한다.
| 구분 | 설명 | 예시 |
|---|---|---|
| 🧱 테이블 | 회원 테이블 | |
| 🆔 식별 코드 | userCode (회원 고유번호) | |
| 📦 데이터 예시 | { userCode: 1, userName: '홍길동' } |
| 요소 | 설명 | 예시 |
|---|---|---|
| 📄 행(Row) | 데이터 1개 (객체 1개) | { id: 1, name: '홍길동' } |
| 📋 테이블(Table) | 여러 행이 모인 배열 | [ {id:1}, {id:2} ] |
| 순서 | 설명 |
|---|---|
| ① | 이용자 테이블(userList)을 for문으로 순회 |
| ② | 각 이용자의 식별 코드(userCode) 를 기준으로 이용로그(logList)에서 일치 여부 확인 |
| ③ | if문으로 존재 여부 판단 |
| ✅ 존재 시 | “이용 이력 있음” 출력 |
| ⚠️ 존재하지 않을 시 | “이용 이력 없음” 출력 |
for (let i = 0; i < userList.length; i++) {
let user = userList[i];
let found = false;
for (let j = 0; j < logList.length; j++) {
if (user.userCode === logList[j].userCode) {
found = true;
break;
}
}
if (found) {
console.log(`${user.userName}님은 이용 이력이 있습니다.`);
} else {
console.log(`${user.userName}님은 이용 이력이 없습니다.`);
}
}