배열을 복사하는 방법

1685 단어 JavaScriptJavaScript

배열을 복사하는 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 ]

좋은 웹페이지 즐겨찾기