개념정리 - sort
let array = [3,5,2];
array.sort();
-> [2,3,5]
근데 배열 안 [3,5,2] 는 문자로 인식해주기 때문에 숫자순 정렬을 하려면...

여기서 a는 왼쪽,3 이고 b는 오른쪽,5 이다.
이후 3,5를 빼보면 -2가 나오고 음수가 되면 왼쪽으로 보내주고 이런식을 정렬해줌.
그 다음 5-2 , 마지막으로 3-2 순서가 진행됨.

원룸들은 배열이고 오브젝트 들이 모여 있기 때문에 오브젝트 - 오브젝트는 Undefined가 나와서 return a-b 하면 정렬이 되질 않는다.
가격순으로 정렬을 하는 것이기 때문에 오브젝트 안에 있는 가격을 빼야한다.
가격높은순 정렬

reverse() 사용예제
const num = [2,6,4,7,1]
const des = num.sort().reverse();
console.log(des)
// 결과값
[7,6,4,2,1]
상품명 가나다순정렬

1) 만약 a 가 b보다 작으면 -1을 반환 -> a를 b보다 앞에 배치 시킴
2) 만약 a가 b보다 크면 1을 반환 -> a를 b보다 뒤에 배치 시킴
3) 그 외의 경우, 즉 같을 경우 0을 반환 -> 순서 변경 x
되돌리기
sort는 원본을 변동시킴 영원히.
but map(), filter() 고차함수는 원본을 보존해준줌
요즘 코딩 방식은 원본데이터를 보호하는게 유행임

배열 데이터를 두곳에 저장하면 각각 사본을 만드는게 아닌 같은 배열을 두곳에서 쓰는 것과 같음.
별게 데이터로 저장을 해야함.

원룸들 = 원룸들오리지널 <- 등호 왼쪽, 오른쪽에 있는 array/object 는 서로 값을 공유한다는 의미임.
reference data type
https://velog.io/@welloff_jj/Javascript-Primitive-Type-Reference-Type
-> 원시타입과 참조타입에 대해 학습이 먼저 필요하다.
-> 일단 나는 참조타입의 변수에서 데이터 복사가 일어날 때 주솟값을 새로 만드는 것이 아니라 같은 값을 가지고 있는 주솟값을 가리킨다고 이해함

array / object 데이터의 각각 별개의 사본 -> 카피본을 만든 것
[...array자료]

또한 array 등호는 갈아넣어주세요가 아니라 값을 공유해주는 역할이기 떄문에
원룸들오리지널이랑 원룸들의 값이 같아진다.
그래서 원룸들오리지널의 개별 복사본을 만들어서 원룸들에 넣어줘야한다.
핵심