본문으로 바로가기

[JavaScript] 배열 원소 swap, 요소 swap

값을 swap 하는 방법은 너무 유명합니다. temp 변수를 만들어서 swap을 하는 방법입니다. (코드 생략) 배열 안의 요소swap 하는 경우도 동일한 방법으로 swap 하면 됩니다. 그러나 JavaScript인 경우 최신 문법을 이용하면 아주 손쉽게 배열 요소를 swap 할 수 있습니다. 한번 간단하게 알아보겠습니다.

배열 원소 swap 하기

JavaScript 최신 문법에는 구조 분해 할당 (Destructuring)이 있습니다. 이것을 이용하면 배열 원소를 쉽게 swap할 수 있습니다. 아래 코드를 확인해봅시다.

const arr = [1, 2, 3, 4, 5];

console.log("# swap 전 arr", arr);
[arr[1], arr[2]] = [arr[2], arr[1]];
console.log("# swap 후 arr", arr);

위 결과 이미지를 보면 정상적으로 swap이 된 것을 확인할 수 있습니다. 단 코드 1줄이면 해결됩니다. 구조 분해 할당을 이용하여 swap을 하게 되면 기존 temp 변수를 이용하는 것보다 코드만 짧아지는 것이 아니라 더 효율적으로 값을 swap할 수 있습니다. 왜 그럴까요? 한번에 여러 개의 요소를 swap할 수 있기 때문입니다. 아래 코드를 확인해봅시다.

const arr = [1, 2, 3, 4, 5];

console.log("# swap 전 arr", arr);
[arr[1], arr[2], arr[4], arr[3]] = [arr[3], arr[4], arr[2], arr[1]];
console.log("# swap 후 arr", arr);

위 결과 이미지를 보면 한번에 4개의 값의 위치를 변경한 것을 볼 수 있습니다. 이렇게 구조 분해 할당을 이용하면 쉽게 배열 원소의 값을 서로 변경할 수 있습니다.

 

마지막

해당 내용은 틀릴 수도 있습니다. 틀린 내용이 있으면 조언 부탁드립니다.

반응형