์ง๊ธ๊น์ง๋ ๋ฐ๋ณต์ for๋ฌธ์ ์ฌ์ฉํ์๋๋ฐ, ์ค๋ฌด์์๋ map๊ณผ filter๋ฅผ ๋ ๋ง์ด ์ฌ์ฉํ๋ค๊ณ ํ๋ค. map๊ณผ filter๋ ๋ชจ๋ ๋ฐฐ์ด์ ๋ด์ฅํจ์์ด๊ธฐ ๋๋ฌธ์ ๋ฐฐ์ด๊ณผ ํจ๊ป ์ฌ์ฉํด์ผ ํ๋ค.
const classmates = ["์ฒ ์", "์ํฌ", "ํ์ด"]
classmates.map((el) => (el + "์ด๋ฆฐ์ด"))
// ["์ฒ ์์ด๋ฆฐ์ด", "์ํฌ์ด๋ฆฐ์ด", "ํ์ด์ด๋ฆฐ์ด"]
map์ ๋ฐฐ์ด ์์ ๊ฐ๋ค์ ํ๋ฒ์ ๋ณํ์ํฌ ๋ ์ฌ์ฉํ๋ฉด ํธ๋ฆฌํ๋ค. ์์ ์ฝ๋๋ map
์ ์ฌ์ฉํ์ฌ classmates๋ผ๋ ๋ฐฐ์ด ์์ ๋ชจ๋ ์์ ๋ค์ ๊ฐ๊ฐ "์ด๋ฆฐ์ด"๋ผ๋ ๋ฌธ์์ด์ ๋ํ ๊ฒ์ ๋ํ๋ธ๋ค.
์ฌ๊ธฐ์ el
์ classmates์ ์์๋ค์ด ๋ค์ด๊ฐ ํ๋ผ๋ฏธํฐ(๋งค๊ฐ๋ณ์)์ด๋ค. ๋งค๊ฐ๋ณ์์ ์ด๋ฆ์ ๋ง์๋๋ก ์ ํด๋ ๋๋ค.
const classmate = [{ name: "์ฒ ์" }, { name: "์ํฌ" }, { name: "ํ์ด" }];
classmate.map((item) => ({
name: item.name + "์ด๋ฆฐ์ด",
school: "๋ก์์ ์น์",
}));
// ๊ฒฐ๊ณผ
[
{ name: "์ฒ ์์ด๋ฆฐ์ด", school: "๋ก์์ ์น์" },
{ name: "์ํฌ์ด๋ฆฐ์ด", school: "๋ก์์ ์น์" },
{ name: "ํ์ด์ด๋ฆฐ์ด", school: "๋ก์์ ์น์" },
];
Map์ ์ปดํฌ๋ํธ์ return
๊ฐ ์์์ ๋ง์ด ์ฌ์ฉํ๊ฒ ๋๋๋ฐ, ์ด ๊ฒฝ์ฐ์๋ map์ ์ค๊ดํธ๋ก ๊ฐ์ธ์ ์ฌ์ฉํ๋ค.
const FRUITS = [
{ number: 1, title: "๋ ๋ํฅ" },
{ number: 2, title: "์ค์ธ๋จธ์ค์ผ" },
{ number: 3, title: "์ฐ์ฒญ๋ธ๊ธฐ" },
{ number: 4, title: "ํ๋ผ๋ด" },
{ number: 5, title: "์ฌ๊ณผ" },
{ number: 6, title: "์ ํ๋ง๊ณ " },
{ number: 7, title: "๋ธ๊ธฐ" },
{ number: 8, title: "์ฒํํฅ" },
{ number: 9, title: "๊ณผ์ผ์ ๋ฌผ์ธํธ" },
{ number: 10, title: "๊ทค" },
];
FRUITS ๋ฐฐ์ด ์์ ๊ฐ ๊ฐ์ฒด๋ค์ ์๋์ ํ์์ฒ๋ผ ์ธ๊ธฐ๊ฒ์์ด ๋ชฉ๋ก์ผ๋ก ๋ง๋๋ ์์ ์ ํด๋ณด์.
1 ๋ ๋ํฅ
2 ์ค์ธ๋จธ์ค์ผ
3 ์ฐ์ฒญ๋ธ๊ธฐ
...
๋ค์๊ณผ ๊ฐ์ด map์ ์ฌ์ฉํด์ฃผ๋ฉด ๋๋ค. div
ํ๊ทธ๋ก ์์๋ค์ ๋ํ๋ด์ค ํํ๋ฅผ ๊ฐ์ธ์ฃผ๋ ๋ฐฉ์์ผ๋ก html๊ณผ ์ฐ๊ฒฐํด์ ์ฌ์ฉํ ์ ์๋ค.
export default function MapFruitsPage() {
return(
<div>
{FRUITS.map((el) => (
<div>
{el.number} {el.title}
</div>
))}
</div>
)
}
Filter๋ ๋จ์ด์์ ์ ์ถํ ์ ์๋ฏ์ด ํน์ ์กฐ๊ฑด์ filter๋ก ์ค์ ํ์ฌ ๊ฐ์ฒด ํน์ ๋ฐฐ์ด์ ๊ฐ ์์๋ฅผ ๊ฒ์ฌํ์ฌ ์กฐ๊ฑด์ ๋ง๋ ๊ฒ๋ค๋ง ๊ฒฐ๊ณผ๊ฐ์ผ๋ก ๋์ถํ๋ ๋งค์๋๋ค. ์๋์ ์ฝ๋์ ๊ฐ์ด ๋งค๊ฐ๋ณ์
๋ฅผ ์ง์ ํด์ฃผ๊ณ , ๋งค๊ฐ๋ณ์๋ฅผ ํ์ฉํด์ filter ์๊ดํธ ์์ ์กฐ๊ฑด
์ ์ฝ์
ํ๋ฉด ๋๋ค.
const num = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
num.filter((item) => item <= 8);
// [1, 2, 3, 4, 5, 6, 7, 8]
map๊ณผ filter๋ฅผ ๋ชจ๋ฅผ ๋, for ๋ฌธ์ ์ด์ฉํด์ ์ผ์ผ์ด ์ผ๋ง๋ ๋ฐ๋ณตํ๊ณ ์ธ์ ๊น์ง ๋ฐ๋ณตํด์ค์ง๋ฅผ ์ค์ ํ๋ ๊ณผ์ ์ด ๋ฒ๊ฑฐ๋ก์ ๋๋ฐ map
๊ณผ filter
๋ฅผ ํ์ฉํด๋ณด๋๊น ํจ์ฌ ๊ฐ๋จํ๊ฒ ๋ฐฐ์ด ์ ์์๋ค์ ์ปจํธ๋กค ํ ์ ์๋ ๊ฒ ๊ฐ๋ค!
๋ฐฐ์ด์ ํ๋ฒ์ ์กฐ์ํด์ฃผ๊ณ , ํน์ ์์๋ค๋ง ์กฐ๊ฑด์ ์ค์ ํด ๊ณจ๋ผ์ ์ํ๋ ๊ฒฐ๊ณผ๊ฐ์ ๋ง๋ค์ด๋ผ ์ ์๋ ๊ฐ๋ ฅํ ๋งค์๋์์ ํ๋ฆผ์๋ค. ์์ง ๋ง๊ณ ๋ณต์ตํ์ ๊ผญ..!