배열을 복사하는 방법

choice·2021년 8월 27일
0
post-thumbnail

배열을 복사하는 2가지 방법

1. slice()

slice()은 MDN에서 다음과 같이 정의한다.
slice() 메소드는 어떤 배열의 begin부터 end까지에 대한 얕은 복사본을 새로운 배열 객체로 반환한다.

arr.slice(begin, [end])의 형태로 사용하는데 매개변수 없이 사용하게 되면 원본에 대한 복사본을 반환한다.

코드

const array = [1, 2, 3, 4, 5];
const copiedArray = [...array];
copiedArray.push(6);
console.log("array:", array);
console.log("copiedArray:", copiedArray);

결과

array: [ 1, 2, 3, 4, 5 ]
copiedArray: [ 1, 2, 3, 4, 5, 6 ]

원본 array와 별개로 복사본 copiedArray를 만들 수 있다.

2. spread 연산자

const 새로운배열 = [...원본배열]의 형태로 원본에 대한 복사본을 만들 수 있다.

코드

const array = [1, 2, 3, 4, 5];
const copiedArray = [...array];
copiedArray.push(6);
console.log("array:", array);
console.log("copiedArray:", copiedArray);

결과

array: [ 1, 2, 3, 4, 5 ]
copiedArray: [ 1, 2, 3, 4, 5, 6 ]

3. concat()

concat()은 MDN에서 다음과 같이 정의한다.
concat() 메서드는 인자로 주어진 배열이나 값들을 기존 배열에 합쳐서 새 배열을 반환합니다.

concat()도 기존의 배열을 변경하지 않기 때문에 배열을 복사하는 용도로도 사용할 수 있다.

코드

const array = [1, 2, 3, 4, 5];
const copiedArray = array.concat();
copiedArray.push(6);
console.log("array:", array);
console.log("copiedArray:", copiedArray);

결과

array: [ 1, 2, 3, 4, 5 ]
copiedArray: [ 1, 2, 3, 4, 5, 6 ]

0개의 댓글