LearnApplyShare

[js] 불변성을 유지하며 array 순서 뒤집기

June 07, 2018 - [array, reverse, immutability, 불변성]

문제

배열의 순서를 뒤집기 위해 간단히 arr.reverse() 를 이용할 수 있지만 Array.prototype.reverse 는 불변성을 유지하지 못한다.


해결책

  1. 불변성을 유지하는 slice() 를 이용한 방법
> const arr = [1,2,3];
  const newArr = arr.slice().reverse();
> newArr
< (3) [3, 2, 1]
> arr
< (3) [1, 2, 3]
  1. … (spread operator) 를 이용한 방법
> const arr = [1,2,3];
  const newArr = [...arr].reverse();
> newArr
< (3) [3, 2, 1]
> arr
< (3) [1, 2, 3]