728x90
๋ฐ์ํ
map()
์ค๋ช
๐ก ์ฝ๋ฐฑ ํจ์์ ๋ฆฌํด๊ฐ์ผ๋ก ์ด๋ค์ง ์๋ก์ด ๋ฐฐ์ด์ ์์ฑํ๋ ํจ์
์ฌ์ฉ๋ฒ
array.map(callback[, thisArg])
// arr : ์๋ณธ ๋ฐฐ์ด
// callback (ํ์) : ์๋ณธ ๋ฐฐ์ด์ ๊ฐ ์์์ ๋ํด ์คํํ ํจ์์ด๋ฉฐ ์์, ์ธ๋ฑ์ค, ๋ฐฐ์ด ์ ์ฒด๋ฅผ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์
// thisArg (์ ํ) : ์ฝ๋ฐฑ ํจ์ ๋ด์์ ์ฌ์ฉํ this ๊ฐ, ์ฝ๋ฐฑ ํจ์์ this ๊ฐ ์ง์ ๊ฐ๋ฅ
์์
const arr = [1, 2, 3];
const newArr = arr.map((num) => num * 2);
console.log(newArr); // map ๋ฆฌํด๊ฐ : [2, 4, 6]
console.log(arr); // ์๋ณธ ๋ฐฐ์ด : [1, 2, 3]
flat()
์ค๋ช
๐ก ์ค์ฒฉ ๋ฐฐ์ด ๊ตฌ์กฐ๋ฅผ ํํํ ์ํค๊ธฐ ์ํด ์ฌ์ฉ
์ฌ์ฉ๋ฒ
array.flat([depth: number | Infinity]);
// depth default : 1
// option - Infinity : ํ์ ๋ฐฐ์ด์ด ์์ ๋๊น์ง ํํํ
์์
const abc = ['a', ['b', 'c', ['d', ['e']]]]
console.log(abc.flat()); // ['a', 'b', 'c', ['d', ['e']]]
console.log(abc.flat(2)); // ['a', 'b', 'c', 'd', ['e']]
console.log(abc.flat(Infinity)); // ['a', 'b', 'c', 'd', 'e']
flatMap()
์ค๋ช
๐ก ์ฃผ์ด์ง ๋ฐฐ์ด์ ๊ฐ ์์์ ๋ํด ์์ฑ๋ ์ฝ๋ฐฑ ํจ์๋ฅผ ์คํ ํ ํด๋น ์ฝ๋ฐฑ ํจ์์ ๋ฆฌํด๊ฐ์ ํ๋ฉดํํ์ฌ ๋จ์ผ ์์ค์ ์๋ก์ด ๋ฐฐ์ด์ ์์ฑํ๋ ํจ์
์ฌ์ฉ๋ฒ
array.flatMap(callback[, thisArg])
// arr : ์๋ณธ ๋ฐฐ์ด
// callback (ํ์) : ์๋ณธ ๋ฐฐ์ด์ ๊ฐ ์์์ ๋ํด ์คํํ ์ฝ๋ฐฑ ํจ์์ด๋ฉฐ ์์, ์ธ๋ฑ์ค, ๋ฐฐ์ด ์ ์ฒด๋ฅผ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์
// thisArg (์ ํ) : ์ฝ๋ฐฑ ํจ์ ๋ด์์ ์ฌ์ฉํ this ๊ฐ, ์ฝ๋ฐฑ ํจ์์ this ๊ฐ ์ง์ ๊ฐ๋ฅ
// ๋ฐฐ์ด์ ์ต๋ ๊น์ด 1๋งํผ๋ง ํํํ ๊ฐ๋ฅ
์์
const arr = [1, 2, 3];
/* map() */
const mapArr = arr.map((num) => [num, num * 2]);
console.log(mapArr); // map ๋ฆฌํด๊ฐ : [[1, 2], [2, 4], [3, 6]]
/* flatMap() */
const flatMapArr = arr.flatMap((num) => [num, num * 2]);
// === arr.map((num) => [num, num * 2]).flat();
console.log(flatMapArr); // flatMap ๋ฆฌํด๊ฐ : [1, 2, 2, 4, 3, 6]
๋น๊ต
ํจ์ | ๋ฆฌํด๊ฐ |
map() | ์ฝ๋ฐฑํจ์์ ๊ฒฐ๊ณผ๊ฐ์ด ์ ์งํ๊ฒ ๋ฆฌํด |
flatMap() | ๋จ์ผ ๊ตฌ์กฐ์ ๋ฐฐ์ด์ด๋ ๊ฐ์ฒด๋ฅผ ๋ฆฌํด |
๋ฐ์ํ
'์ธ์ด > Script Question' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์บก์ณ๋ง & ๋ฒ๋ธ๋ง (0) | 2024.04.07 |
---|---|
super() & super (0) | 2024.04.07 |
[โฆ], {โฆ} (0) | 2024.04.07 |
$์ _๋ ๋ฌด์์ธ๊ฐ (0) | 2024.04.07 |
๋๊ธฐ/๋น๋๊ธฐ & ๋ธ๋กํน/๋ ผ๋ธ๋กํน (0) | 2024.04.07 |