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