๐ย Reference
๐ย Chapter
Map ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ค.์์ 1
const fruits = [
{ name: '์ฌ๊ณผ', category: '๊ณผ์ผ' },
{ name: '๋ฐ๋๋', category: '๊ณผ์ผ' },
{ name: '๋น๊ทผ', category: '์ฑ์' },
{ name: '๋ธ๊ธฐ', category: '๊ณผ์ผ' },
{ name: '์ค์ด', category: '์ฑ์' },
];
// ๊ทธ๋ฃน์ ํค๋ก ์ฌ์ฉ๋ ๊ฐ์ฒด๋ค
const fruitCategory = { name: '๊ณผ์ผ' };
const vegetableCategory = { name: '์ฑ์' };
// category ์์ฑ์ด ๊ฐ์ฒด์ธ ๋ฐ์ดํฐ
const items = [
{ name: '์ฌ๊ณผ', category: fruitCategory },
{ name: '๋น๊ทผ', category: vegetableCategory },
{ name: '๋ฐ๋๋', category: fruitCategory },
];
const groupedByObject = Map.groupBy(items, item => item.category);
console.log(groupedByObject);
// Map ๊ฐ์ฒด๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค.
// console.log๋ก ๋ณด๋ฉด ์๋์ ์ ์ฌํ๊ฒ ๋ณด์
๋๋ค.
Map(2) {
{ name: '๊ณผ์ผ' } => [
{ name: '์ฌ๊ณผ', category: { name: '๊ณผ์ผ' } },
{ name: '๋ฐ๋๋', category: { name: '๊ณผ์ผ' } }
],
{ name: '์ฑ์' } => [
{ name: '๋น๊ทผ', category: { name: '์ฑ์' } }
]
}
Map ๊ฐ์ฒด์ด๋ฉฐ, ์ฌ๊ธฐ์ ์ค์ํ ์ ์ ๊ทธ๋ฃน์ ํค๋ก { name: '๊ณผ์ผ' }์ { name: '์ฑ์' } ๊ฐ์ฒด ๊ทธ ์์ฒด๊ฐ ์ฌ์ฉ๋์๋ค๋ ๊ฒ์ด๋ค.