배열을 선언하고 복사를 하고 나면 우리가 생각하는대로 원본은 그대로 있어야 하는데 원본도 같이 바뀝니다.
예제를 보시면 이해가 빠를거예요.
let a = [2,3,1];
let a1 = a.sort((a,b)=>a-b)
console.log(a1);
console.log(a); //문제
a를 출력해보면 우리가 처음 봤던 a와는 다르게 a1이랑 같은 결과가 나옵니다.
기본적으로 배열은 원본을 참조하도록 설정 되어 있습니다.
이 연결을 끊어주려면 이렇게 해주면 됩니다.
let a = [2,3,1];
let a1 = a.slice();
a1 = a1.sort((a,b)=>a-b)
console.log(a1); //[1,2,3]
console.log(a); // [2,3,1]
이제 서로 영향을 받지 않습니다.
728x90
'프로그램 강좌' 카테고리의 다른 글
[Excel]countA, countIF 사용하는 방법 (0) | 2021.04.28 |
---|---|
[javascript]parseInt 정수 처리 (0) | 2021.04.16 |
[javascript]배열 순서 바꾸기기 (0) | 2021.04.11 |
[javascript]Array.from 빈 배열 만들때 쓰기 좋네네 (0) | 2021.04.10 |
[javascript]stack, queue (0) | 2021.04.08 |