๐ ์ค๋ ํ ์ผ
โ๏ธ Javascript ๋ฐฐ์ด(Array), ๊ฐ์ฒด(Object) ๊ณต๋ถ
๋ฐฐ์ด๊ณผ ๊ฐ์ฒด ๋ชจ๋ ์ฌ๋ฌ๊ฐ์ ์์๋ค์ ํ ๋ฒ์ ๋ค๋ฃฐ ์ ์๊ธฐ ๋๋ฌธ์, ์ด ๋ ๊ฐ์ง๋ฅผ ์ข ๋ ๋ฅ์ํ๊ฒ(?) ์ฌ์ฉํ ์ค ์๊ฒ ๋๋ฉด ์ ๋ณด๋ค ํจ์ฌ ๊ฐ๊ฒฐํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ฌ์ด ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ ๊ฒ ๊ฐ์ ๋๋์ด ๋ ๋ค.
โ๏ธ ์ค์ฉ์ฃผ์ ํ๋ก๊ทธ๋๋จธ ์ฝ๊ธฐ
- ๋ค๋ฅธ ๋๊ตฐ๊ฐ์ '์๋์ง'๋ฅผ ๋ด๊ณ ์ถ๋ค๋ฉด ๊ฐ๋ฒผ์ด ์๊ตฌ๋ฅผ ํ๊ฑฐ๋ ํธ๊ธฐ์ฌ์ ์ด๋์ด๋์ผ๋ก์จ ์ฐธ์ฌํ๋๋ก ๋ง๋ค์ด์ผ ํ๋ค. (๋ณํ์ ์ด๋งค๊ฐ ๋๊ธฐ)
- ๋ง์ ์ฌ์ฉ์๋ค์ ์๋ฒฝํ ํ๋ก๊ทธ๋จ์ ์ํด ์ผ ๋ ์ ๊ธฐ๋ค๋ฆฌ๋๋, ์ฐจ๋ผ๋ฆฌ ์ค๋ ๋น์ฅ ์ข ๋ถํธํ ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ด ํ๋ค. ๊ทธ๋ ๋ค๊ณ ๋๋ฌด ์๋ง์ด์ด์๋ ์๋๋ค. '์ ๋นํ' ์ธ์ ๋ฉ์ถฐ์ผ ํ๋์ง ์๋ ๊ฒ์ ์ค์ํ๋ค!
- ์ง์์ ๋ํ ํฌ์๊ฐ ์ธ์ ๋ ์ต๊ณ ์ ์ด์ค์ ๋ธ๋ค. ์ฃผ๊ธฐ์ ์ผ๋ก, ๋ค์ํ๊ฒ, ๊ท ํ์๊ฒ ์ง์์ ํฌ์ํ์
- ๊ฐ๋ฐ์์๊ฒ ์ํต์ ์ค์ํ๊ณ ํ์์ ์ด๋ค. ํ์๋ฅผ ํ๊ณ , ์ฌ์ฉ์์ ์๊ตฌ๋ฅผ ์ดํดํ๊ณ , ์ฝ๋๋ฅผ ์์ฑํ๋ฉฐ ๊ธฐ๊ณ์๊ฒ ์๋๋ฅผ ์ ๋ฌํ๊ณ , ์ฌ๊ณ ๊ณผ์ ์ ๋ฌธ์ํํด ๋ค๋ฅธ ๊ฐ๋ฐ์๋ค์๊ฒ ์ ๋ฌํด์ผ ํ๋ค. ํจ๊ณผ์ ์ผ๋ก ์ํตํ๊ธฐ ์ํด์ ๋ด๊ฐ ๋งํ๊ณ ์ถ์ ๊ฒ ๋ฌด์์ธ์ง๋ถํฐ ์์์ผํ๋ฉฐ, ์ฒญ์ค์ ํ์ ํด ์ ๋นํ ํ์ด๋ฐ์ ์ ์ ํ ์คํ์ผ๋ก ์ ๋ฌํด์ผ ํ๋ค.
๐ ๊ธฐ์ตํ ๊ฒ
โ๏ธ of ์ฐ์ฐ์ (for element of array)
array์์ ๊ฐ ์์(element) ๊บผ๋ด๋ ๋ฐ๋ณต๋ฌธ์ผ๋ก, for(int i=0; i<array.length; i++)์ ๋น์ทํ ์ญํ ์ ํ๋ค.
โ๏ธ in ์ฐ์ฐ์
๊ฐ์ฒด(Object)์์ key์ ์กด์ฌ ์ฌ๋ถ๋ฅผ ํ์ธํด boolean๊ฐ(true/false)์ ๋ฐํํด์ฃผ๋ ์ฐ์ฐ์
โ๏ธ ๊ฐ์ฒด value์ ์ ๊ทผํ๊ธฐ
๋ฐฉ๋ฒ1 : Dot notation (ex. student.id)
๋ฐฉ๋ฒ2 : Bracket notation (ex. student['id'])
-> ๋ฐ์ดํ๊ฐ ์์ผ๋ฉด ๋ณ์๋ช ์ผ๋ก ์ธ์ํด๋ฒ๋ฆผ!
-> ๋์ ๋ณ์๋ฅผ ๋ค๋ฃฐ ๋ ์ฌ์ฉ (key๊ฐ์ด ๋ณํ ๋)
โ๏ธ push, pop
๋ฐฐ์ด ๋งจ ๋์ ์์ ์ถ๊ฐ, ์ญ์ (push๋ ์ถ๊ฐ ํ์ length๋ฅผ, pop์ ์ญ์ ๋ ์์๋ฅผ return)
โ๏ธ unshift, shift
๋ฐฐ์ด ๋งจ ์์ ์์ ์ถ๊ฐ, ์ญ์ (unshift๋ ์ถ๊ฐ ํ์ length๋ฅผ, shift๋ ์ญ์ ๋ ์์๋ฅผ return)
โ๏ธ console.table
tableํํ๋ก ์ฝ์์ ์ถ๋ ฅ (๋ฐฐ์ด์ index, value๊ฐ์ column์ผ๋ก ์ถ๋ ฅ)
โ๏ธ indexOf, includes
๋ ๋ค ์ด๋ ํ ์์๊ฐ ๋ฐฐ์ด์ ํฌํจ๋๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํ๋ ๋ฉ์๋์ด๋ค. indexOf๋ ์์์ index๋ฅผ ๋ฐํํด์ฃผ๋ฉฐ(์กด์ฌX์ -1), includes๋ ์์์ ํฌํจ์ฌ๋ถ๋ฅผ true, false(boolean)๋ก ๋ฐํํด์ค๋ค. ํฌํจ์ฌ๋ถ๋ง ์๋ ค์ฃผ๋ includes๋ณด๋ค๋ ์ด๋์ ์์นํ ์ง index๊น์ง ๋ฐํํด์ฃผ๋ indexOf๊ฐ ๋ ๋ฒ์ฉ์ ์ด๊ณ ์ ์ฉํ๋ค!
โ๏ธ array.slice(start, end)
๋ฐฐ์ด์ ์ธ๋ฑ์ค๊ฐ start~(end-1) ๋ฒ์์ธ ๋ถ๋ถ๋ง ์๋ผ์ returnํด์ค
โ๏ธ str.split(separater)
๋ฌธ์์ด(str)์ ๊ตฌ๋ถ์(separater)๋ฅผ ๊ธฐ์ค์ผ๋ก ์๋ผ์ returnํด์ค (ex. '010-1212-1212'.split('-') //['010', '1212', '1212'])
โ๏ธ array.splice(start, deleteCount, items)
๋ฐฐ์ด ์ค๊ฐ์ ์์๋ฅผ ๋ผ์๋ฃ๊ฑฐ๋ ์ญ์ ํ ์ ์๋ค. ๋ผ์๋ฃ๊ณ ์ถ์ ์ง์ ์ ์์์ง์ (start)์ผ๋ก ์ง์ ํ๊ณ , ์ญ์ ํ ์์ ๊ฐ์๋ฅผ deleteCount๋ก ์ง์ ํ๋ค. ์ด ๋ deleteCount=0์ผ๋ก ๋๋ฉด ์ญ์ ๋์ ๋ผ์๋ฃ๊ธฐ(insert)๋ฅผ ํ๊ฒ ๋ค๋ ๋ป์ด ๋๋ค! items๋ ์ถ๊ฐํ๊ณ ์ถ์ ์์๊ฐ ์์ ๊ฒฝ์ฐ ์ ์ด์ฃผ๋ฉด ๋๋ค.
๐ ๋ ๊ณต๋ถํ ๊ฒ
โ๏ธ iterator
โ๏ธ immutable, mutable
โ๏ธ ํธ์ด์คํ , ํด๋ก์
'Daily > Today I Learned' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
201216_TIL (0) | 2020.12.17 |
---|---|
201215_TIL (0) | 2020.12.16 |
201212_TIL (0) | 2020.12.13 |
201211_TIL (0) | 2020.12.12 |
201210_TIL (0) | 2020.12.10 |
๋๊ธ