์ค๋๋ ์ค๋ฌด์์ ๋์ง๊ฒ ๋ง์ด ์ฐ๋ ์ธ ๋ฉ์๋๋ฅผ ์ดํด๋ณผ ๊ฒ์ด๋ค.
์ ๋ค ๋ฐฐ์ด๊ณผ ๊ด๋ จ๋ JavaScript, TypeScript๋ฉ์๋์ด๋ฏ๋ก ์ฐฌ์ฐฌํ ์ดํด๋ณด๋๋ก ํ๋ค!
์ฃผ์(?)์ฌํญ : ๋ฐฐ์ด ๋ด ๋ฌธ์์ด์ ์๋ ''๋ฅผ ์์ฐ๋๊ฒ ์ ์์ด์ง๋ง,,, ๊ท์ฐฎ์์ ๊ฑ ์๋ตํ๋คใ
1. map() ๋ฉ์๋
๊ธฐ๋ฅ : ๋ฐฐ์ด์ ๊ฐ ์์๋ฅผ ๋ณํํ์ฌ ์๋ก์ด ๋ฐฐ์ด๋ก ๋ฐํํ์ฌ ๋ง๋ ๋ค.
๊ฐ๊ฐ์ ์์์ ๋ํด ํ๋ฒ์ฉ ์ํํ๋ฉฐ ์ฝ๋ฐฑ ํจ์๋ฅผ ์ ์ฉ → ์๋ก์ด ๋ฐฐ์ด๋ก ๋ฐํํ๋ค.
map๋ฉ์๋๋ฅผ ํตํด ๋ฐฐ์ด์ ์๋ก์ด ๊ตฌ์ฑํด์ ๋๊ฐ์ ๊ธธ์ด๋ก ๋ฐํํ ์ ์๋ค.
[์ด๋ ํ ๋ฐฐ์ด] + ๋ด๊ฐ ์ค์ ํ ์ฝ๋ฐฑ ํจ์ () = [๋ด๊ฐ ์๋ก ๋ง๋ ๋ฐฐ์ด]
์ ํํ์ง ์์ง๋ง ์ด๋ฌํ ๋์์ค์ ์๋ก์ด ๋ฐฐ์ด์ ๋ฑ์ด๋ธ๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค.
Vue3.0 js์์ ์๋ก์ด ๋ฐฐ์ด์ ๋ฑ์ด๋ด๊ธฐ ๋๋ฌธ์ ์์ ๋ณต์ฌ๊ฐ ๋๋ค โก๏ธ readonly์ํ์์ ๋ฒ์ด๋ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๊ฒ ๋๋ค!
map()ํจ์๋ ๋ฐฐ์ด์ ๊ฐ ์์๋ฅผ ๋ณํํ๊ฑฐ๋ ๊ฐ๊ณตํ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฉํ ์๋ก์ด ์์๋ก ๋ฐฐ์ด์ ์์ฑํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
const oldArr = [A,B,C,D];
const newArr = oldArr.map(item => item.toLowerCase()); // [a, b, c, d]๋ฐํ
map ํจ์์ ๊ผด์ ๋ค์๊ณผ ๊ฐ์ด ์๊ฒผ๋ค.
array.map((item, index, array) => {
// ์ฝ๋ฐฑ ํจ์ ๋ด์ฉ
});
arr : mapํจ์๋ฅผ ์ ์ฉ์ํฌ ๋ฐฐ์ด
item : ํ์ฌ ์ฒ๋ฆฌ ์ค์ธ ๋ฐฐ์ด์ ์์ ํ๋ํ๋ (oldArr์ ์์๋ก ๋ค์๋ฉด A, B, C, D)
index(์ ํ์ฌํญ) : ํ์ฌ ์ฒ๋ฆฌ์ค์ธ ์์์ ์ธ๋ฑ์ค
array(์ ํ์ฌํญ) : map๋ฉ์๋๋ฅผ ํธ์ถํ ์๋ณธ ๋ฐฐ์ด ์์ฒด
2. filter() ๋ฉ์๋
๊ธฐ๋ฅ : ์กฐ๊ฑด์ ๋ง๋ ์์๋ง ๊ฑธ๋ฌ๋ด์ ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ ๋ค.
ํน์ ์กฐ๊ฑด์ ์ถฉ์กฑํ๋ ์์๋ฅผ ์ ํํ ๋ ์ฌ์ฉํ ์ ์๋ค.
filter()ํจ์๋ ๋ฐฐ์ด์ ๊ฐ ์์๋ค ์ค์์ ์ํ๋ ์กฐ๊ฑด์ ๋ง๋ ์์๋ค๋ง ํํฐ๋ง๋ ๋ฐฐ์ด์ ์์ฑํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
const numArr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
function isEven(value:number){ // ์ง์๋ฅผ ์ฐพ๋ ๋ฉ์๋ ์ค์
return value % 2 === 0;
}
const result = numArr.filter(isEven); // ์ง์ [2, 4, 6, 8, 10] ๋ฐํ
filter๋ ๋ค์๊ณผ ๊ฐ์ ๋งค๊ฐ๋ณ์๋ค์ ๋ฐ์ ์ ์๋ค.
array.filter((item, index, array) => {
// ์ฝ๋ฐฑ ํจ์ ๋ด์ฉ
}
item : ํ์ฌ ์ฒ๋ฆฌ ์ค์ธ ๋ฐฐ์ด์ ์์ ํ๋ํ๋(์ ์์๋ฅผ ์๋ก ๋ค์๋ฉด, ์ซ์ ๋ฐฐ์ด๋ค 1, 2, 3,...)
index(์ ํ ์ฌํญ) : ํ์ฌ ์ฒ๋ฆฌ์ค์ธ ์์์ ์ธ๋ฑ์ค
array(์ ํ ์ฌํญ) : filter ๋ฉ์๋๋ฅผ ํธ์ถํ ์๋ณธ ๋ฐฐ์ด ์์ฒด
3. some() ๋ฉ์๋
๊ธฐ๋ฅ : ๋ฐฐ์ด์ ์์ ์ค ํ๋๋ผ๋ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด true๋ฅผ ๋ฐํํ๋ ๋ฉ์๋
์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด true, ๊ทธ๋ ์ง ์์ผ๋ฉด false๋ฅผ ๋ฐํํ๋ค. ๋ฐฐ์ด ๋ด ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์์๊ฐ ์๋์ง ํ์ธํ ๋ ์ฌ์ฉํ๋ค.
some()๋ฉ์๋๋ ๋ฐฐ์ด ์์๋ฅผ ํ๋์ฉ ์ํํ์ฌ, ์ฝ๋ฐฑ ํจ์์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์์๊ฐ ํ๋๋ผ๋ ์๋์ง ํ๋ณํฉ๋๋ค.
const arr = [a, b, c, d, e];
function searchLetter(value){ // ๋ฐฐ์ด์ a๊ฐ ์๋์ง ํ์ธํ๋ ๋ฉ์๋
return value === 'a';
}
const hasA = arr.some(searchLetter); // true ๋ฐํ
some ๋ฉ์๋์ ๋งค๊ฐ๋ณ์๋ ๋ค์๊ณผ ๊ฐ๋ค.
array.some((item, index, array) => {
// ์ฝ๋ฐฑ ํจ์ ๋ด์ฉ
})
item : ์ํ๋ฅผ ๋ ๋ฐฐ์ด์ ์์ ํ๋ํ๋
index(์ ํ ์ฌํญ) : ์ํ๋ฅผ ๋ ๋ฐฐ์ด์ ์ธ๋ฑ์ค
array (์ ํ ์ฌํญ) : ๋ฉ์๋๋ฅผ ํธ์ถํ ์๋ณธ ๋ฐฐ์ด ์์ฒด
+ ์ฐธ๊ณ ์ฌํญ
(1) index์ array๋ ์ ํ์ ๋งค๊ฐ๋ณ์์ด๋ค. ํ์ํ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํ๋ค!
(2) ์ธ ๋ฉ์๋ ๋ชจ๋ ์๋ณธ ๋ฐฐ์ด์ ์์ ํ์ง ์์ผ๋ฉฐ, ์๋ณธ ๋ฐฐ์ด์ ๋ถ๋ณ์ด๋ค.
์๋ฐ์คํฌ๋ฆฝํธ map() ํจ์ – ๊ฐ๋ ์ ๋ฆฌ ๋ฐ ์ฌ์ฉ ์์ - ์ฝ๋ฉ์๋ธ๋ฆฌ๋ฐ๋
๋ฐฐ์ด์์ map() ํจ์๋ ๋ฐฐ์ด์ ๊ฐ ์์๋ฅผ ์ํํ์ฌ ์ฝ๋ฐฑ ํจ์๋ฅผ ์ ์ฉํ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์ ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํํ๋ ํจ์์ ๋๋ค. ์๋ณธ ๋ฐฐ์ด์ ๋ณ๊ฒฝํ์ง ์์ผ๋ฉด์ ํด๋น ๋ฐฐ์ด ์์์ ๋ํ ๊ท์น์ ์ธ ์๋ก์ด
codingeverybody.kr
์๋ฐ์คํฌ๋ฆฝํธ filter() ํจ์ – ๊ฐ๋ ์ ๋ฆฌ ๋ฐ ์ฌ์ฉ ์์ - ์ฝ๋ฉ์๋ธ๋ฆฌ๋ฐ๋
filter() ํจ์๋ ๋ฐฐ์ด์ ์์๋ฅผ ์ํํ๋ฉด์ ์ฝ๋ฐฑ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ ์กฐ๊ฑด์ ๋ฐ๋ผ ํํฐ๋งํ๊ณ ํํฐ๋ง๋ ๋ฐฐ์ด์ ๋ฐํํ๋ ํจ์์ ๋๋ค. ์ด ํจ์๋ ์์ ์ค๋ณต ์ ๊ฑฐ๋ ๋ค์ค ์กฐ๊ฑด, 2์ฐจ์ ๋ฐฐ์ด ํํฐ
codingeverybody.kr
์๋ฐ์คํฌ๋ฆฝํธ some() ํจ์ – ๋ฐฐ์ด์ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์์๊ฐ ์๋์ง ํ์ธ - ์ฝ๋ฉ์๋ธ๋ฆฌ๋ฐ๋
๋ฐฐ์ด์ some() ํจ์๋ ๋ฐฐ์ด์ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์์๊ฐ ์๋์ง ํ์ธํฉ๋๋ค. ํ๋์ ์์๋ผ๋ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด true๋ฅผ ๋ฐํํ๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด false๋ฅผ ๋ฐํํฉ๋๋ค.
codingeverybody.kr
'Frontend๐จ > JavaScript๐, TypeScript๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| sort()์ ๋ํด ์์๋ณด๊ธฐ (0) | 2025.12.03 |
|---|---|
| JavaScript ํ์ดํ ํจ์ ๊ดํธ ์ฌ์ฉ๋ฒ ์ ๋ฆฌ(+์ต๋ช ํจ์) (0) | 2025.11.10 |
| [JavaScript, TypeScript] ์ ์ฌ ๋ฐฐ์ด, ์ดํฐ๋ฌ๋ธ ๊ฐ์ฒด, Array.from() (1) | 2025.09.18 |
| ์ฝ๋ฐฑ ํจ์(callback function) ์ ๋ฆฌํ๊ธฐ (1) | 2025.07.09 |
| [JavaScript, TypeScript] ์ต์ ๋ ์ฒด์ด๋(Optional Chaining)์ด๋? (3) | 2024.12.10 |