프로그래밍 언어/HTML,CSS,JS

javascript 배열을 복사하는 방법

Rateye 2021. 11. 16. 10:29
728x90
반응형
질문 : 값으로 배열 복사

JavaScript의 배열을 다른 배열로 복사하는 경우 :

var arr1 = ['a','b','c'];
var arr2 = arr1;
arr2.push('d');  //Now, arr1 = ['a','b','c','d']

arr2 가 새로운 독립 배열이 아니라 arr1 과 동일한 배열을 참조한다는 것을 깨달았습니다. 두 개의 독립적 인 배열을 얻기 위해 배열을 복사하려면 어떻게해야합니까?

답변

이것을 사용하십시오 :

let oldArray = [1, 2, 3, 4, 5];

let newArray = oldArray.slice();

console.log({newArray});

기본적으로 slice() 작업은 배열을 복제하고 새 배열에 대한 참조를 반환합니다.

다음 사항도 참고하십시오

참조, 문자열 및 숫자 (실제 객체가 아님)의 경우 slice() 는 객체 참조를 새 배열로 복사합니다. 원래 배열과 새 배열은 모두 동일한 객체를 참조합니다. 참조 된 객체가 변경되면 변경 사항이 새 배열과 원래 배열 모두에 표시됩니다.

문자열 및 숫자와 같은 프리미티브는 변경할 수 없으므로 문자열이나 숫자를 변경할 수 없습니다.

출처 : https://stackoverflow.com/questions/7486085/copy-array-by-value
728x90
반응형