문제

배열의 순서를 뒤집기 위해 간단히 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]
    
  2. … (spread operator) 를 이용한 방법
    > const arr = [1,2,3];
      const newArr = [...arr].reverse();
    > newArr
    < (3) [3, 2, 1]
    > arr
    < (3) [1, 2, 3]