웹 풀스택
[Node.js] 유튜버 조회 서비스 - 전체 유튜버 조회(forEach)
kevinmj12
2025. 2. 18. 14:50
Javascript forEach
전체 유튜버를 조회하기 전에, Javascript에는 forEach라는 함수가 있다.
forEach는 for문과 비슷한 역할을 수행하는데, 매개변수를 통해 편리하게 접근할 수 있다는 것이 특징이다.
const arr = [5, 6, 7, 8, 9];
arr.forEach(function (val) {
console.log(`value: ${val}`);
});
// value: 5
// value: 6
// value: 7
// value: 8
// value: 9
arr.forEach((val) => console.log(`value: ${val}`));
// value: 5
// value: 6
// value: 7
// value: 8
// value: 9
arr.forEach((val, idx) => console.log(`index ${idx}: ${val}`));
// index 0: 5
// index 1: 6
// index 2: 7
// index 3: 8
// index 4: 9
arr.forEach((val, idx, arr) => console.log(`index ${idx}: ${val} / ${arr}`));
// index 0: 5 / 5,6,7,8,9
// index 1: 6 / 5,6,7,8,9
// index 2: 7 / 5,6,7,8,9
// index 3: 8 / 5,6,7,8,9
// index 4: 9 / 5,6,7,8,9
위는 [5, 6, 7, 8, 9]를 담고 있는 arr을 정의하고 forEach를 통해 출력하는 코드이다.
forEach()는 내부의 function() 또는 화살표 함수를 통해 매개변수를 받아 배열 내에 접근할 수 있다.
예를 들어 arr.forEach(function (val) { }); 과 같은 형식과, arr.forEach((val) => ); 과 같은 형식이다.
그리고 forEach에서는 매개 변수를 3개까지 사용할 수 있는데, 개수에 따라 그 의미는 다음과 같다.
1개 (a) => a: arr에서의 값
2개 (a, b) => a: arr에서의 값, b: 인덱스 값
3개 (a, b, c) => a: arr에서의 값, b: 인덱스 값, c: 객체 전체 값
유튜버 전체 조회
이제 forEach 사용법을 익혔으니, Map()에 저장된 값들을 모두 불러와 출력할 수 있을 것 같다.
app.get("/youtubers", function (req, res) {
let youtubers = {};
youtuberDb.forEach((val, idx) => (youtubers[idx] = val));
res.json(youtubers);
});
youtubers라는 새로운 객체를 만들어 forEach를 통해 그 안에 key로 인덱스, value로 유튜버를 넣어주었다.
그리고 youtubers를 보내주면 쉽게 구현할 수 있다.