[JS] Array.flatMap ๋ฉ์๋ ํ์ฉ๋ฒ
๋ฐ์ํ
flatMap()
๋ฉ์๋๋ ์ฝ๋ฐฑ์ด ๋ฐํํ๋ ๊ฐ์ด ๋ฐฐ์ด์ด๋ฉด 1 ๋์ค๊น์ง ํผ์ณ์ ๋ฐํํ๋ค. map()
, flat()
๋ฉ์๋๋ฅผ ์ฒด์ด๋ํ ๊ฒ๊ณผ ๋์ผํ ํจ๊ณผ๋ฅผ ๊ฐ์ง๋ค. e.g. arr.map(...args).flat()
const numbers = [1, 2, 3, 4, 5];
numbers.map((n) => [n * 2]); // [[1], [2], [3], [4], [5]]
numbers.flatMap((n) => [n * 2]); // [2, 4, 6, 8, 10]
const sayHello = ['Hello', 'World'];
sayHello.map((word) => word.split('')); // [['H', 'e', 'l', 'l', 'o'], ['W', 'o', 'r', 'l', 'd']]
sayHello.flatMap((word) => word.split('')); // ['H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd']
๋ง์ฝ, flatMap()
์ ์ฝ๋ฐฑ ํจ์๊ฐ ๋น ๋ฐฐ์ด์ ๋ฐํํ๋ฉด ๊ฒฐ๊ณผ ๋ฐฐ์ด์ ํฌํจ๋์ง ์๋๋ค. ์ด๋ฅผ ํ์ฉํ๋ฉด filter()
๋ฉ์๋์ ๋น์ทํ๊ฒ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์์๋ก ์ด๋ค์ง ์๋ก์ด ๋ฐฐ์ด์ ์์ฑํ ์ ์๋ค.
const numbers = [1, 2, 3, 4, 5];
numbers.flatMap((n) => (n % 2 === 0 ? [n] : [])); // [2, 4]
๊ธ ์์ ์ฌํญ์ ๋ ธ์ ํ์ด์ง์ ๊ฐ์ฅ ๋น ๋ฅด๊ฒ ๋ฐ์๋ฉ๋๋ค. ๋งํฌ๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์
๋ฐ์ํ
'๐ช Programming' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[JS] ๋ก์ผ์ผ ํตํ๋ก ์ซ์ ํฌ๋งคํ / ์ฒ ๋จ์๋ง๋ค ์ฝค๋ง ์ถ๊ฐํ๊ธฐ
[JS] ๋ก์ผ์ผ ํตํ๋ก ์ซ์ ํฌ๋งคํ / ์ฒ ๋จ์๋ง๋ค ์ฝค๋ง ์ถ๊ฐํ๊ธฐ
2024.05.09 -
[HTML/CSS] ์คํฌ๋กค ๊ธฐ๋ฅ์ ์ ์งํ๋ฉด์ ์คํฌ๋กค๋ฐ ์จ๊ธฐ๊ธฐ
[HTML/CSS] ์คํฌ๋กค ๊ธฐ๋ฅ์ ์ ์งํ๋ฉด์ ์คํฌ๋กค๋ฐ ์จ๊ธฐ๊ธฐ
2024.05.09 -
[JS] ์ํ๋ ํฌ๋งท์ผ๋ก ๋ ์ง ๋ณํ — toLocaleDateString
[JS] ์ํ๋ ํฌ๋งท์ผ๋ก ๋ ์ง ๋ณํ — toLocaleDateString
2024.05.09 -
[React] useInfiniteQuery + IO API ์ฌ์ฉ์ ๋ฌดํ ๋ ๋๋ง ๋ฌธ์ ํด๊ฒฐ
[React] useInfiniteQuery + IO API ์ฌ์ฉ์ ๋ฌดํ ๋ ๋๋ง ๋ฌธ์ ํด๊ฒฐ
2024.05.09