๋ฐ์ํ
๐ ์ค๋ ๋ฐฐ์ด ๊ฒ
โ๏ธ Underbar ~Part2
Javascript ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ๋ฐฐ์ด, ๊ฐ์ฒด๋ฅผ ๋ค๋ฃจ๋ Underscore.js์ ํจ์๋ค์ ํ๋ํ๋ ์ง์ ๊ตฌํํด๋ดค๋ค. ํ๋ฃจ์ข ์ผ ํ๋ ํธ๋ ์ด๋ํ ๋๋ถ์ ์ธ ๋๋ง๋ค ํท๊ฐ๋ฆฌ๋ forEach๋ map, reduce ๊ฐ์ ๋ฐฐ์ด ๋ด์ฅ ๋ฉ์๋์ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์ฌ์ฉํ๋ ๋ฐ ์์ ๊ฐ์ด ์ข ์๊ธด ๊ฒ ๊ฐ๋ค..!
โ๏ธ sort() ๋ด์ฅ ๋ฉ์๋
sort()๋ ๋ฐฐ์ด ์์๋ค์ ์ ์ ํ๊ฒ ์ ๋ ฌํ ํ, ๊ทธ ๋ฐฐ์ด์ ๋ฐํํ๋ค. arr.sort([compareFunction]) ์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ๋๋ฐ, ์ ๋ ฌ ์์๋ฅผ ์ ์ํ๋ ํจ์์ธ compareFunction์ ์๋ต ๊ฐ๋ฅํ๋ค. ์ด ํจ์๊ฐ ์๋ต๋๋ฉด ๋ฐฐ์ด์ ์์๋ค์ ๋ฌธ์์ด๋ก ์ทจ๊ธ๋์ด ์ ๋์ฝ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ๋๋ค. compareFunction๋ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ ๊ฐ ๋ฐ์ ๊ท์น์ ์ ํด์ฃผ๋ ์ญํ ์ ํ๋๋ฐ, ์์ง ์ด๋ถ๋ถ์ ํท๊ฐ๋ ค์ ์ข ๋ ์์๋ด์ผ๊ฒ ๋ค.
๐ ๊ธฐ์ตํ ๊ฒ
โ๏ธ undefined, null
ํ์ด๋ถ๊ณผ underbar ๋ฌธ์ ๋ฅผ ํ๋ค๊ฐ ์์ํ ๋ฐ์ดํฐ์ ์ฐธ์กฐํ ๋ฐ์ดํฐ์ ์กด์ฌ ์ ๋ฌด๋ฅผ ํ๋จํด์ผ ํ๋ ๋ถ๋ถ์ด ์์๋๋ฐ, ๋ค๋ฅธ ์กฐ๊ฑด์์ ์จ์ผํ๋ค. ๊ฐ์๊ธฐ ๊ถ๊ธํด์ ธ์ ๊ด๋ จ ์๋ฃ๋ค์ ์ฐพ์๋ณด๋ค๋ณด๋, undefined์ null์ ๋ํด ์์ง ํท๊ฐ๋ฆฌ๋ ๋ถ๋ถ์ด ์๋ค๋ ๊ฑธ ์๊ฒ๋์๋ค.
null : ๋ณ์ ์กด์ฌO, ํ์ O (object) -> '๊ฐ'์ด ์ ํด์ง์ง ์์ ์ํ
undefiend : ๋ณ์ ์กด์ฌO, ๊ฐ ํ ๋นX, ํ์ X (undefined) -> 'ํ์ '์กฐ์ฐจ ์ ํด์ง์ง ์์ ์ํ
โ๏ธfor~in, for~of
for~in : index๋ฅผ ๋ฆฌํด
for~of : value๋ฅผ ๋ฆฌํด → ๋ฐ๋ก ๊ฐ ์ฌ์ฉ ๊ฐ๋ฅ!
๐ ๋ ๊ณต๋ถํ ๊ฒ
โ๏ธ ์ ๋ ฌ
bubble sort, insertion sort, quick sort, merge sort, radix sort ๋ฑ ๋ค์ํ ์ ๋ ฌ ๋ฐฉ์
โ๏ธ arr.sort([compareFunction])
compareFunction์ ํจ์๋ฅผ ์ ์ํด์ ํน์ ํ ์ ๋ ฌ ๋ฐฉ์์ ์ ์ฉํด์ผ ํ๋ ๋ฌธ์ ๊ฐ ์์๋ค. MDN๋ฌธ์ ์์๋ฅผ ์ฐธ๊ณ ํด์ ์ด์ฐ์ ์ฐ ํ๊ธฐ๋ ํ๋๋ฐ ์ ํํ ์ด๋ค ๋ฐฉ์์ผ๋ก ์๋ํ๋ ์ง๋ ์ ๋ชจ๋ฅด๊ณ ๋์ด๊ฐ ๊ฒ ๊ฐ์์, ์ ๋ ฌ์ ๊ธฐ์ค์ด ๋๋ ํจ์(compareFunction)๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ๋ ์์๋ณด๋ ค๊ณ ํ๋ค.
โ๏ธ Underbar ๋ณต์ต
๋๋ถ๋ถ์ ๋ฌธ์ ๋ฅผ each๋ฅผ ์จ์ ํด๊ฒฐํ ๊ฒ ๊ฐ์๋ฐ ์ ์ผ ํท๊ฐ๋ฆฌ๋ reduce๋ฅผ ์ต๋ํ ์จ์ ๋ค์ ํ์ด๋ด์ผ๊ฒ ๋ค. ์๊น๋ ํ์ด๋ถ์ด๋ reduce๋ก ํ๋ฒ ํ์ด ๋ณด์๊ณ ์๋ํด๋ณด๋ค๊ฐ ํด๊ฒฐ์ ํ๋๋ฐ, accumulator๋ฅผ ํ์ฉํ์ง๋ฅผ ์์๋ค. ๊ทธ๋์ ๋์ฒด accumulator์ ์ญํ ์ด ๋ญ๊ฐ..ํ๊ณ ์๋ฌธ์ด ๋ ์ฑ๋ก ๋์ด๊ฐ์๋๋ฐ, ๋ชจ๊ฐ์ฝํ๋ค๊ฐ ๋ค๋ฅธ ๋ถ์ด ์ด๋ถ๋ถ์ ๋ํด ์ง๋ฌธํด์ฃผ์ ์ ๋ฐฐ์ธ ์ ์์๋ค. ์๊ธฐ ์ ์ ๊ณ ์ณ๋ณด๊ณ ์์ผ๊ฒ ๋ค!
๋ฐ์ํ
'Daily > Today I Learned' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
201231_TIL (์ฌ๊ท๋ฌธ์ ํ๊ธฐ) (0) | 2020.12.31 |
---|---|
201230_TIL (๋น๋๊ธฐ, ๋ฉ๋ชจ์ด์ ์ด์ ) (0) | 2020.12.30 |
201228_TIL (0) | 2020.12.29 |
201227_TIL (0) | 2020.12.28 |
201224_TIL (0) | 2020.12.25 |
๋๊ธ