# ๋ฐฐ์—ด(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) : ๋ฐฐ์—ด์˜ ์ฒซ๋ฒˆ์งธ ์ธ๋ฑ์Šค์˜ ๊ฐ’์„ ๊บผ๋ƒ„ (๋ฐฐ์—ด์˜ ๋‚ด์šฉ์ด ๋ณ€๊ฒฝ๋จ)