[자바스크립트(JavaScript)] Sort(sorting) 배열요소 정렬

2024. 2. 23. 03:46클라이언트/JavaScript

같은 배열을 복사해서 정렬을 한다고 가정해보자 원래 배열은 건드리지 말고 똑같은 배열을 복사해서 수정하고 싶다고 했을때 sortedArray = [1,3,5,6] (기존 배열) 을 newArray = sortedArray.sort() 하면 sortedArray도 바뀐 다는 것이다.
그 이유는 메모리의 저장된 데이터 주소값이 같기 때문이고 새로운 배열에 복사 하고싶다면 [...sortedArray](배열을 풀고 다시 묶는 방법) 또는 sortedArray.slice() 를 사용해야 한다.
그래야만 데이터 주소가 따로 저장이 되기 때문에 원래 배열은 냅두고 복사한 배열만 마음대로 사용 할 수 있게된다.

((a,b) => a-b)) 오름차순

배열에서 1번2번을 먼저 비교한다. a에 2번인덱스가 오고 a에 1번인덱스가온다.
그리고 a-b 2번인덱스 - 1번인덱스를 하고 음수일 경우에 2번 index와 1번 index를 바꿔서 배열에 정렬하고 양수일 경우에는 그대로 정렬한다.

((a,b) => b-a)) 내림차순

오름차순의 반대로 작동한다.

 

객체의 sorting

객체의 나이에 접근하고 싶을 때 사진처럼 b.age , a.age 로 접근 할 수 있다