# ๋ฐฐ์ด(Array)
๋ฐฐ์ด(Array)์ ๊ฐ์ฒด์ ๋๋ถ์ด ์ค์ ๋ก ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌํํ ๋ ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ ๋ณ์ ํ์ ์ ๋๋ค. ๋ฐฐ์ด์ ์ ์ธํ๋ ๋ฐฉ์์ ๊ฐ์ฒด์ ์ ์ฌํฉ๋๋ค.
var arr = [];
์ฌ๊ธฐ์ []
๋ฅผ ๋ฐฐ์ด ๋ฆฌํฐ๋ด์ด๋ผ๊ณ ํ๋ฉฐ ๋ฐฐ์ด์ ์ ์ํ ๋ ์ฌ์ฉํฉ๋๋ค.
# ๋ฐฐ์ด์ ์์
๊ฐ์ฒด๋ ์์ฑ / ๊ฐ
์ ์กฐํฉ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ง๋ง ๋ฐฐ์ด์ ์ธ๋ฑ์ค / ๊ฐ
์ ์กฐํฉ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค.
// arr ๋ณ์์ ๋น ๋ฐฐ์ด์ ์ ์ธ
var arr = [];
// ๋ฐฐ์ด์ 0๋ฒ์งธ ์ธ๋ฑ์ค์ 10์ ๋์
arr[0] = 10;
console.log(arr); // [10]
TIP
๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ 0๋ถํฐ ์์ํฉ๋๋ค. ๋น ๋ฐฐ์ด์ ์ต์ด๋ก ๊ฐ์ ์ถ๊ฐํ๋ฉด 0๋ฒ์งธ ์ธ๋ฑ์ค์ ๊ฐ์ด ์ถ๊ฐ๋ฉ๋๋ค.
# ๋ฐฐ์ด ์กฐ์ํ๊ธฐ
๋ฐฐ์ด์ ์กฐ์ํ๋ ๋ฐฉ๋ฒ์ ์๋์ ๊ฐ์ด ์ง์ ์ธ๋ฑ์ค์ ์ ๊ทผํด์ ์กฐ์ํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
// ์ธ๋ฑ์ค๋ฅผ ์ง์ ์ ๊ทผํด์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
var arr = [];
arr[0] = 100;
arr[1] = 20;
arr[0] = 10;
console.log(arr); // [10, 20]
ํ์ง๋ง ์์ ๊ฐ์ด ์ธ๋ฑ์ค์ ์ง์ ์ ๊ทผํด์ ์กฐ์ํ๋ ๊ฒ๋ณด๋ค ์๋ฐ์คํฌ๋ฆฝํธ ๋ด์ฅ API๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ถ์ฒํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๋ฐฉ์์ ๋ทฐ ๊ฐ๋ฐ์ ๋ฟ๋ง ์๋๋ผ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ๋ฐ์๋ค์๊ฒ๋ ๊ถ์ฅ๋๋ ๋ฐฉ์์ ๋๋ค.
// ์๋ฐ์คํฌ๋ฆฝํธ ๋ด์ฅ API๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
var arr = [];
arr.push(100); // [100]
arr.push(20); // [100, 20]
arr.splice(0, 1, 10); // [10, 20]
console.log(arr); // [10, 20]
# ์์ฃผ ์ฌ์ฉํ๋ ๋ฐฐ์ด API
๋ฐฐ์ด์ ์กฐ์ํ ๋ ์ฃผ๋ก ์ฌ์ฉํ๋ API๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- push() (opens new window) : ๋ฐฐ์ด์ ๋ฐ์ดํฐ ์ถ๊ฐ (๋งจ ๋ ์ธ๋ฑ์ค๋ถํฐ ์ถ๊ฐ๋จ)
- slice() (opens new window) : ๋ฐฐ์ด์ ํน์ ์ธ๋ฑ์ค์ ์๋ ๊ฐ์ ๋ฐํ (๋ฐฐ์ด์ ๋ด์ฉ์ด ๋ณํ๋์ง ์์)
- splice() (opens new window) : ๋ฐฐ์ด์ ํน์ ์ธ๋ฑ์ค์ ์๋ ๊ฐ์ ๋ณ๊ฒฝ ๋๋ ์ญ์ (๋ฐฐ์ด์ ๋ด์ฉ์ด ๋ณ๊ฒฝ๋จ)
- pop() (opens new window) : ๋ฐฐ์ด์ ๋ง์ง๋ง ์ธ๋ฑ์ค์ ๊ฐ์ ๊บผ๋ (๋ฐฐ์ด์ ๋ด์ฉ์ด ๋ณ๊ฒฝ๋จ)
- shift() (opens new window) : ๋ฐฐ์ด์ ์ฒซ๋ฒ์งธ ์ธ๋ฑ์ค์ ๊ฐ์ ๊บผ๋ (๋ฐฐ์ด์ ๋ด์ฉ์ด ๋ณ๊ฒฝ๋จ)
โ Map ๊ณผ Set Loop โ