๐2018๋ 06์ 28์ผ โ ๐TutorialPost โ โณ5๋ถ Show ๋ฐฐ์ด(Array)์ JavaScript ๊ฐ์ฒด์ ํน์ํ ํํ๋ก์จ, ๊ฐ์ฒด์ ํ๋กํผํฐ๋ช ์ด 0๋ถํฐ ์์ํด์ ์์ฐจ์ ์ผ๋ก ์ปค์ง๋ ์์ฐ์๋ก ์ด๋ฃจ์ด์ง ํํ๋ผ๊ณ ์๊ฐํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ์ด๋ ํ ๋ฐ์ดํฐ๋ฅผ ์์ฐจ์ ์ผ๋ก ์ ์ฅํ๊ฑฐ๋ ์กฐํํ๋๋ฐ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ฉ๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐฐ์ด์ Array ํ์ ๊ฐ์ฒด๊ฐ ์ ๊ณตํ๋ ๋ฉ์๋๋ค์ ์ฌ์ฉํ์ฌ ์์ฝ๊ฒ ๋ฐฐ์ด ์กฐ์์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ๋ฐฐ์ด์ ๊ธฐ์ด๋ฐฐ์ด์ ๊ฐ์ ์์ฐจ์ ์ผ๋ก ์ ์ฅํ๋ ์ฉ๋๋ก ์ฌ์ฉํฉ๋๋ค. ๋ฐฐ์ด์ ํ๊ธฐ ํ์์ ์๋์ฒ๋ผ ๋๊ดํธ ํ์ง๋ง ๊ฒฐ๊ตญ์ ๋์ผํ ๋ฐ์ดํฐ ํ์ ์ ๋์ดํ๋ ์ฉ๋๋ก ์ฃผ๋ก ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค. ๋ฐฐ์ด์ ์์๋ฅผ ํ์ธํ๊ฑฐ๋ ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ํ์ธํ๊ธฐ ์ํด์๋ ์๋์ ๊ฐ์ด ์ฌ์ฉํฉ๋๋ค. ์ญ์๋ ๋ฐฐ์ด์ ์ฒซ๋ฒ์งธ ์์๋ 0๋ถํฐ ์์ํฉ๋๋ค.
๋ฐฐ์ด์ ์์์ ์๋ก์ด ๊ฐ์ ํ ๋นํ๊ธฐ ์ํด์๋ ๋์ ์ฐ์ฐ์๋ฅผ ์ด์ฉํด ๋ฐฐ์ด์ ์์์ ์๋ก์ด ๊ฐ์ ํ ๋นํด ์ฃผ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
๋ฐฐ์ด์ ๋ฉ์๋๋ฐฐ์ด์ ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ๋ ๊ฐ์ฅ ํญ๋๊ฒ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ํ์ ์ ํ๋์ ๋๋ค. ๋ฐ๋ผ์ ์์ฝ๊ฒ ๋ฐฐ์ด์ ์กฐ์ํ ์ ์๋๋ก ๋ค์ํ ๋ฉ์๋๋ฅผ ์ ๊ณตํ๊ณ ์์ต๋๋ค. Array ๋ฉ์๋Array.from() ์ ์ฌ ๋ฐฐ์ด ํน์ ๋ฐ๋ณต๊ฐ๋ฅํ ๊ฐ์ฒด๋ก๋ถํฐ ์ Array ์ธ์คํด์ค๋ฅผ ๋ง๋ญ๋๋ค.
์ด ๋ฉ์๋๋ฅผ ์ด์ฉํ๋ฉด ํจ์์ arguments๋ฅผ ๋ฐฐ์ด๋ก ์์ฝ๊ฒ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
Array.isArray() ์ธ์๋ก ์ ๋ฌ๋ฐ์ ๊ฐ์ฒด๊ฐ ๋ฐฐ์ด์ด๋ฉด true, ๊ทธ๋ ์ง ์์ผ๋ฉด false๋ฅผ ๋ฆฌํดํ์ฌ ํด๋น ๊ฐ์ฒด๊ฐ ๋ฐฐ์ด์ธ์ง ํ์ธ ํฉ๋๋ค.
์๋ณธ ๋ฐฐ์ด์ ์์ ํ๋ ๋ฉ์๋์๋์ ๋ฉ์๋๋ค์ ์๋ณธ ๋ฐฐ์ด์ ๋ฐ๋ก ์์ ํ๋ ๋ฉ์๋๋ค ์ ๋๋ค. ๋ฐ๋ผ์ ์ฌ์ฉ์ ์ฃผ์ํด์ผ ํ๋ฉฐ, ์๋ณธ ๋ฐ์ดํฐ์ ๋ณ๊ฒฝ ์์ด ๋ฐฐ์ด ์กฐ์์ ๊ฒฐ๊ณผ๊ฐ์ด ํ์ํ ๊ฒฝ์ฐ์๋ ๋ค๋ฅธ ๋ฉ์๋๋ค์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๋ฐฐ์ด ์์ ์ถ๊ฐ ์ ๊ฑฐ ๋ฉ์๋๋ฐฐ์ด์ ์ฒ์ ํน์ ๋ง์ง๋ง์ ์์๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํ๋ ๋ฉ์๋๋ค ์ ๋๋ค.
splice ๋ฉ์๋ - ๋ฐฐ์ด ์์ ์ถ๊ฐ ์ญ์ Array.prototype.splice() ๋ฉ์๋๋ ๋ฐฐ์ด์ ํน์ ์์น์ ๋ฐฐ์ด ์์๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ญ์ ํ๋๋ฐ ์ฌ์ฉํฉ๋๋ค. ๋ฆฌํด๊ฐ์ ์ญ์ ํ ๋ฐฐ์ด ์์์ ๋๋ค. ์ญ์ ํ ์์๊ฐ ์๋๋ผ๋ ๋น ๋ฐฐ์ด์ ๋ฐํํฉ๋๋ค.
reverse ๋ฉ์๋ - ๋ฐฐ์ด ์์ ์์ ๋ฐ์ Array.prototype.reverse() ๋ฉ์๋๋ ๋ฐฐ์ด ์์์ ์์๋ฅผ ๋ค์ง์ต๋๋ค.
sort ๋ฉ์๋ - ๋ฐฐ์ด ์์ ์ ๋ ฌArray.prototype.sort() ๋ฉ์๋๋ ๋ฐฐ์ด ๋ด๋ถ์ ์์๋ฅผ ์ ๋ ฌํ๋๋ฐ ์ฌ์ฉํฉ๋๋ค. sort ํจ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐฐ์ด์ ์์๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํ ํ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํฉ๋๋ค.
์ด๋ ๊ฒ ์ฌ์ฉํ ๊ฒฝ์ฐ ์ ์์ ์ ๊ฐ์ด ์๋ํ์ง ์์ ๊ฒฐ๊ณผ๋ฅผ ๋๋ ค์ค ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์ด๋ ๋ด๋ถ์ ์ผ๋ก ์ซ์๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํ ํ ๊ฐ์ ๋น๊ตํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋ผ์ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ sort ํจ์์ ์ธ์๊ฐ์ผ๋ก ๋น๊ต ํจ์๋ฅผ ์ ๋ฌํ์ฌ ์ ๋ ฌํ๊ฒ ๋ฉ๋๋ค.
๋น๊ตํจ์๋ ๋๊ฐ์ ์ธ์ (a, b) ๋ฅผ ๋ฐ์ผ๋ฉฐ ๊ฐ๊ฐ ๋น๊ตํ ์ฒซ ๋ฒ์งธ, ๋ ๋ฒ์งธ ์์๊ฐ ๋ฉ๋๋ค. ๋น๊ตํจ์๋ ๋ฐฐ์ด ์์์ ๊ฐ์ฅ ์ฒ์ ๋ ์์๋ถํฐ ์์ฐจ์ ์ผ๋ก ๋น๊ตํด๊ฐ๋ฉฐ ์ ๋ ฌ์ ์คํํฉ๋๋ค. ๋น๊ตํจ์
์์ ์์์ 11๊ณผ 1์ ๋น๊ตํ ๊ฒฝ์ฐ ๋น๊ตํจ์๋ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ฐฐ์ด์ ๋์ด๋ ๊ฐ์ฒด์ ๊ฐ์ผ๋ก ์ ๋ ฌํ๋ ค๋ฉด ์๋์ ๊ฐ์ด ์ฌ์ฉํ ์ ์์ต๋๋ค.
|