5. Indexed collection

  • ์ธ๋ฑ์Šค๋ณ„๋กœ ์ •๋ ฌ๋˜๋‹ˆ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ, ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘๊ทผํ•œ๋‹ค.

  • ์ธ๋ฑ์Šค๋Š” ๋ฐ์ดํ„ฐ์˜ ์œ„์น˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์ธ๋ฑ์Šค๋Š” ํ•ญ์ƒ 0์œผ๋กœ ์‹œ์ž‘ํ•œ๋‹ค.

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์ƒ‰์ธ๋œ ์ปฌ๋ ‰์…˜์€ Array ๋˜๋Š” TypedArray ๊ฐ€ ์žˆ๋‹ค.

Array(๋ฐฐ์—ด)

  • ๊ฐ€์žฅ ๋ณดํŽธ์ ์ธ ๋ฐ์ดํ„ฐ ์ปฌ๋ ‰์…˜

  • ๋‹จ์ผ ๋ณ€์ˆ˜์— ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ์œ ํ˜•

  • ์ดํ„ฐ๋Ÿฌ๋ธ”(์ˆœํšŒ ๊ฐ€๋Šฅ)

  • ๋ณ€์ˆ˜์˜ ๊ฐ’์€ ์ค‘๋ณต์ด ๊ฐ€๋Šฅํ•˜๊ณ , ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•˜๋‹ค.

  • ๊ธธ์ด ์ง€์ •๋„ ๊ฐ€๋Šฅํ•˜๋‚˜ ๊ธธ์ด๊ฐ€ ๋„˜์–ด๊ฐ€๋„ ์—๋Ÿฌ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค์ง€ ์•Š๋Š”๋‹ค.

  • [] ๊ตฌ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ณ , Array ๋ž˜ํผ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

์ƒ์„ฑ

// ๋ฐฐ์—ด ๊ฐ์ฒด ์ƒ์„ฑ
let arr1 = ['a', 1];
console.log(arr1); // ['a', 1]

let arr2 = [];
console.log(arr2); // []

arr2 = ['b', 2];
console.log(arr2); // ['b', 2]

// new Array
const arr3 = new Array(3);
console.log(arr3); // [ <3 empty items> ]

// Array.of
const arr4 = Array.of(1, 2, 3);
console.log(arr4); // [ 1, 2, 3 ]

// Array.from
const arr5 = Array.from(arr4);
console.log(arr5); // [1, 2, 3];
console.log(arr4 === arr5); // false

// ์œ ์‚ฌ๋ฐฐ์—ด๋กœ ์ƒ์„ฑ
// ํ‚ค์™€ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฐ์ฒด๋กœ, ์—ฌ๊ธฐ์„œ๋Š” ํ‚ค๊ฐ€ ์ธ๋ฑ์Šค๊ฐ€ ๋œ๋‹ค.
// length ๋Š” ๋ฐฐ์—ด์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์†์„ฑ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฐ์—ด์— ์ถ”๊ฐ€๋˜์ง€ ์•Š๋Š”๋‹ค.
// length ๋ฅผ 3์œผ๋กœ ์ง€์ •ํ•˜๋ฉด ['a', 'b', 'undefined'] ๊ฐ€ ๋œ๋‹ค.
const arr6 = Array.from({
  0: 'a',
  1: 'b',
  length: 2,
});
console.log(arr6); // [ 'a', 'b' ]

์ ‘๊ทผ

let arr1 = ['a', 1];
console.log(0); // 'a'
console.log(2); // 'a'
console.log(3); // undefined

์ถ”๊ฐ€

const arr = [1, 2, 3];
arr.push(4); // [1,2,3,4]
arr.unshift(0); // [0,1,2,3,4]

์‚ญ์ œ

const arr = [1, 2, 3];
// ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์‚ญ์ œ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๊ฒŒ ๋˜๋ฉด ํ•ด๋‹น ์ธ๋ฑ์Šค์˜ ๊ฐ’์€ ๋น„์–ด์žˆ๊ฒŒ ๋œ๋‹ค.
// ๋”ฐ๋ผ์„œ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜, ์‚ญ์ œ ํ›„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
delete arr[0];
console.log(arr); // [ <1 empty item>, 2, 3 ]

const arr2 = [1, 2, 3];
arr2.shift();
console.log(arr); // [ 2, 3 ]

Array ์†์„ฑ, ๋ฉ”์„œ๋“œ

Ref

Last updated