const arr1 = [];
const arr2 = [1, 2, 3];
const arr3 = [1, 2, ,3]; // 빈 요소 undefined 반환
console.log(arr1.length, arr1);
console.log(arr2.length, arr2);
console.log(arr3.length, arr3);
생성자 함수
const arr = new Array(3);
console.log(arr);
console.log(arr.length);
console.log(
arr[0], arr[1], arr[2]
);
console.log(
arr[0], arr[1], arr[2]
);
const arr1 = new Array(1, 2, 3);
const arr2 = new Array('ABC');
const arr3 = new Array(true);
console.log(arr1);
console.log(arr2)
console.log(arr3)
정적 메서드 of
: 인자를 통해 배열을 반환
// 인자가 하나의 숫자라도 이를 요소로 갖는 배열 생성
const arr1 = Array.of(3);
const arr2 = Array.of(1, 2, 3);
const arr3 = Array.of('ABC', true, null);
console.log(arr1);
console.log(arr2);
console.log(arr3);
from
: 배열, 유사배열객체, 이터러블을 인자로 받아 배열 반환const arr1 = Array.from([1, 2, 3]);
const arr2 = Array.from('ABCDE');
const arr3 = Array.from({
'0': true,
'1': false,
'2': null,
length: 3
});
console.log(arr1);
console.log(arr2);
console.log(arr3);
Array.from
은 얕은 복사 - 1 depth copyconst arr1 = [1, 2, 3];
const arr2 = Array.from(arr1);
arr2.push(4);
console.log(arr1, arr2);
arr1[0] = 0;
console.log(arr1, arr2);
map
이 보다 자주 사용됨const arr1 = [1, 2, 3, 4, 5];
const arr2 = Array.from(arr1, x => x + 1);
const arr3 = Array.from(arr1, x => x * x);
const arr4 = Array.from(arr1, x => x % 2 ? '홀' : '짝');
console.log(arr2);
console.log(arr3);
console.log(arr4);