"모든 사람이 컴퓨터 프로그래밍을 배워야 한다. 그것이 생각하는 법을 가르쳐주기 때문이다."
— 스티브 잡스 (Steve Jobs, Apple 공동 창업자)
🎯 오늘의 학습 목표
Code 노드의 두 가지 실행 모드(Each Item / All Items)를 구분할 수 있다
문자열 가공 메서드(.trim, .toUpperCase, .includes 등)를 사용할 수 있다
.filter()와 .map()으로 배열 데이터를 처리할 수 있다
모드 선택 기준
text
// Run Once for Each Item (항목마다 개별 처리)
→ 각 아이템을 개별 가공할 때 사용
→ $json 으로 현재 항목에 접근
→ return { json: { ... } }
// Run Once for All Items (모든 항목을 한 번에 처리)
→ 여러 항목을 비교·필터링·집계할 때 사용
→ $input.all() 으로 전체 데이터에 접근
→ return [{ json: { ... } }, ...]
Each Item 모드에서 자주 쓰는 메서드
javascript
// 앞뒤 공백 제거
" 홍길동 ".trim() → "홍길동"
// 대소문자 변환
"hello".toUpperCase() → "HELLO"
"HELLO".toLowerCase() → "hello"
// 특정 단어 포함 여부
"SALE상품".includes("SALE") → true
// 텍스트 교체
"홍길동".replace("길동", "**") → "홍**"
All Items 모드에서 자주 쓰는 메서드
javascript
// 조건에 맞는 항목만 남기기
배열.filter(item => item.재고 > 0)
// 모든 항목 변환하기
배열.map(item => ({ json: { 상품명: item.이름 } }))
// 두 가지 조합
배열
.filter(p => p.재고 > 0)
.map(p => ({ json: { 상품명: p.이름, 상태: "판매중" } }))
⚠️ return { json: … } 형식을 빠뜨리면 에러가 나요. All Items 모드에서는 반드시 배열 []로 반환해야 해요.
💡 입문자에게는 JavaScript를 강력 추천해요. n8n의 표현식과 문법이 완전히 같아서 DAY 6~7에서 배운 내용을 그대로 활용할 수 있어요!