๐ย Reference
๐ย Chapter
Map.groupBy()
Object.groupBy()
- Object.groupBy()
- Object.groupBy() ์ ์ ๋ฉ์๋๋ ์ ๊ณต๋ ์ฝ๋ฐฑ ํจ์์์ ๋ฐํ๋ ๋ฌธ์์ด ๊ฐ์ ๋ฐ๋ผ ์ฃผ์ด์ง ๋ฐ๋ณต ๊ฐ๋ฅ ๊ฐ์ฒด์ ์์๋ฅผ ๊ทธ๋ฃนํํ๋ค.
- ๋ฐํ๋ ๊ฐ์ฒด๋ ๊ฐ ๊ทธ๋ฃน์ ๋ํด ๋ณ๋์ ์์ฑ์ ๊ฐ์ง๋ฉฐ, ๊ฐ ์์ฑ์๋ ๊ทธ๋ฃน์ ์์๊ฐ ํฌํจ๋ ๋ฐฐ์ด์ด ํฌํจ๋๋ค.
- ๊ทธ๋ฃน ์ด๋ฆ์ ๋ฌธ์์ด๋ก ํํํ ์ ์๋ ๊ฒฝ์ฐ ์ด ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
- ์์์ ๊ฐ์ ํค๋ก ์ฌ์ฉํ์ฌ ์์๋ฅผ ๊ทธ๋ฃนํํด์ผ ํ๋ ๊ฒฝ์ฐ์๋ Map.groupBy()๋ฅผ ๋์ ์ฌ์ฉํด์ผ ํ๋ค.
- ๋ฐฐ์ด๊ณผ ๊ฐ์ ๋ฐ๋ณต ๊ฐ๋ฅํ(iterable) ๊ฐ์ฒด์ ์์๋ฅผ ํน์ ๊ธฐ์ค์ ๋ฐ๋ผ ๊ทธ๋ฃนํํ๋ ์ ์ (static) ๋ฉ์๋์ด๋ค.
- ๋ฐํ ๊ฐ: ์ผ๋ฐ ๊ฐ์ฒด(
Object
)๋ฅผ ๋ฐํํ๋ค.
- ํค(Key)์ ์ ํ: ๊ทธ๋ฃน์ ํค๋ก ๋ฌธ์์ด๋ง ์ฌ์ฉ ๊ฐ๋ฅํ๋ค. ์ฝ๋ฐฑ ํจ์๊ฐ ๋ฐํํ๋ ๋ชจ๋ ๊ฐ์ ๋ฌธ์์ด๋ก ๊ฐ์ ๋ณํ๋์ด ํค๋ก ์ฌ์ฉ๋๋ค.
- ์ฉ๋: ๊ทธ๋ฃน ์ด๋ฆ์ด ๋ฌธ์์ด๋ก ํํ๋ ์ ์๋ ๊ฒฝ์ฐ์ ์ ํฉํ๋ค.
- ์๋ณธ ๋ฐฐ์ด์ ์์๊ฐ ์๊ฒ ๋ณต์ฌ๋์ด ๋ฐํ๋ ๊ฐ์ฒด์ ๋ด๊ธฐ๋ฏ๋ก, ๋ฐํ๋ ๊ฐ์ฒด ๋ด์ ์์ ๊ตฌ์กฐ๋ฅผ ๋ณ๊ฒฝํ๋ฉด ์๋ณธ ๋ฐฐ์ด์ ํด๋น ์์์๋ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฐ์๋๋ค.
์์
const fruits = [
{ name: '์ฌ๊ณผ', category: '๊ณผ์ผ' },
{ name: '๋ฐ๋๋', category: '๊ณผ์ผ' },
{ name: '๋น๊ทผ', category: '์ฑ์' },
{ name: '๋ธ๊ธฐ', category: '๊ณผ์ผ' },
{ name: '์ค์ด', category: '์ฑ์' },
];
Object.groupBy()
๋ ๊ทธ๋ฃน์ ํค(key)๋ก ๋ฌธ์์ด๋ง ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.