๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Daily/Today I Learned

201229_TIL

by joooing 2020. 12. 30.
๋ฐ˜์‘ํ˜•

๐ŸŽ ์˜ค๋Š˜ ๋ฐฐ์šด ๊ฒƒ


โœ”๏ธ 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

๋Œ“๊ธ€