[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개의 값의 위치를 변경한 것을 볼 수 있습니다. 이렇게 구조 분해 할당을 이용하면 쉽게 배열 원소의 값을 서로 변경할 수 있습니다.
마지막
해당 내용은 틀릴 수도 있습니다. 틀린 내용이 있으면 조언 부탁드립니다.
반응형
'공유 > JavaScript, TypeScript' 카테고리의 다른 글
[dayjs] dayjs를 이용하여 Date 객체 잘 다루기 (0) | 2022.09.17 |
---|---|
[JavaScript] 문자열 반복문 돌리기, 문자열을 배열로 변환하기 (2) | 2022.04.04 |
[JavaScript] async await로 비동기 처리 개선하기 (0) | 2022.03.02 |
[JavaScript] promise, callback 지옥 없애기 (0) | 2022.02.24 |
[JavaScript] callback과 callback 지옥 (0) | 2022.02.17 |