[js] 불변성을 유지하며 array 순서 뒤집기
June 07, 2018 - [array, reverse, immutability, 불변성]
문제
배열의 순서를 뒤집기 위해 간단히 arr.reverse()
를 이용할 수 있지만 Array.prototype.reverse
는 불변성을 유지하지 못한다.
해결책
- 불변성을 유지하는 slice() 를 이용한 방법
> const arr = [1,2,3];
const newArr = arr.slice().reverse();
> newArr
< (3) [3, 2, 1]
> arr
< (3) [1, 2, 3]
- … (spread operator) 를 이용한 방법
> const arr = [1,2,3];
const newArr = [...arr].reverse();
> newArr
< (3) [3, 2, 1]
> arr
< (3) [1, 2, 3]