const arr = new Array(10);
빈 배열 길이가 10개를 생성한다.
length 값은 0이 아니지만 실제 배열의 요소는 없다.
new Array()
매개변수가 없는 경우 빈 배열을 생성한다.
Array.of(1); => [1]
Array.of(1,2,3,4,5); => [1,2,3,4,5]
매개변수가 1개라도 있으면 => [1]을 갖는 배열을 생성한다.
Array.from({length:2}, 0:1,1:2});
=> [1,2]
Array.from('Hi')
=> ['H', 'i']
ES6에서 도입된 메서드로서 유사 배열 객체 또는 이터러블 객체를 매개변수로 전달 받아 배열을 생성한다.
Array.from({length:3},(_,i) => i);
=> [0,1,2]
콜백 함수의 반환값으로 구성된 배열도 생성할 수 가 있다.
const arr = [0];
arr[1] =1
=> [0,1]
다음 인덱스에 추가하고 싶은 값을 넣어주면 된다.
const arr = [1];
arr.push(2);
=> [1,2]
push
매소드를 사용하는 것도 방법이다.
const arr =[1,2];
const new = [...arr,3];
=> [1,2,3]
스프레드 문법
사용하는 방법도 있다.
const result = arr.concat(3);
=> [1,2,3]
concat
메소드는 원본 배열을 직접 변경하지 않고 새로운 배열을 생성한다.
제가 주로 사용하는 방법입니다.
const arr =[1,2,3]
arr.unshift(4,5);
=> [1,2,3,4,5]
unshift
배열 앞에 매개변수를 추가한다.
const arr =[1,2,3]
delete arr[0]
=> [empty,2,3]
delete
사용하면 된다. 하지만 배열의 길이는 변하지 않는다.
delete 연산자는 사용을 자제하는 것이 좋다.
const arr=[1,2,3]
arr.splice(1,1)
=> [1,3]
const arr=[1,2,3]
arr.splice(1,1,2)
=> [1,2,3]
splice
첫번째 매개변수는 삭제 시작점 인덱스
두번째 매개변수는 삭제할 수
const arr = [1,2]
arr.pop();
=> [1]
pop 매소드
마지막 배열을 삭제한다.
const arr =[1,2]
arr.shift();
=> [2]
shift
앞에 배열을 제거한다.
Array.isArray([]);
=> true
배열이면 true를 아니면 false를 반환한다.
const arr = [1,2]
arr.indexOf(1)
=> 0
arr.indexOf(4)
=> -1
배열에 값과 매개변수랑 일치하면 인덱스를 반환한다.
일치하는 것이 없으면 -1를 반환한다.
만약 여러 개 있다면 첫 번째로 검색된 것만 인덱스로 반환한다.
하지만 저는 include메소드를 더 많이 사용합니다.