1. length 프로퍼티와 희소 배열
- length 프로퍼티 값은 요소의 개수, 즉 배열의 길이를 바탕으로 결정되지만 임의의 숫자 값을 명시적으로 할당할 수도 있다.
- 현재 length 프로퍼티 값보다 작은 숫자 값을 할당하면 배열의 길이가 줄어든다.
const arr = [1, 2, 3, 4, 5];
arr.length = 3;
console.log(arr);
- 반대로 현재 length 프로퍼티 값보다 큰 숫자 값을 할당하는 경우, 이때 length 프로퍼티 값은 변경되지만 실제 배열의 길이가 늘어나지는 않는다.
- 아래 예제에서
empty x 2
와 empty x 4
는 실제로 추가된 배열의 요소가 아니다. 즉, arr[1]과 arr[2]에는 값이 존재하지 않는 것이다.
const arr = [1];
arr.length = 3;
console.log(arr.length);
console.log(arr);
const arr = [1];
arr.length = 5;
console.log(arr.length);
console.log(arr);
- 희소 배열이란 배열에 속한 요소의 위치가 연속적이지 않은 배열을 말한다.
- 희소 배열의 경우 배열의
length
프로퍼티 값보다 배열 요소의 개수가 항상 작다.
- 배열을 생성할 경우에는 희소 배열을 생성하지 않도록 주의해야 한다.
const sparse = [, 2, , 4];
console.log(sparse.length);
console.log(sparse);
const arr = [];
arr[99] = "JavaScript";
console.log(arr.length);
2. 다차원 배열
- 다차원 배열(multidimensional array)이란 배열 요소가 또 다른 배열인 것을 말한다.
- 다차원 배열은 행렬을 저장하는 용도로 사용된다.
let matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
console.log(matrix[1][1]);