sort() 메소드

beablessing·2021년 6월 29일
0

JS

목록 보기
8/11
post-thumbnail

.sort()

  • sort메소드는 fill메소드와 같이 기존배열을 정렬하는 형태이다.
    복사본이 아니다.
  • sort는 기본적으로 number와 string만 정렬을 시켜준다
    따라서, 객체 등 다른 것들을 정렬시키고자 할때에는 나만의 언어로 명령을 내려주어야 한다
    like 고차함수
sort()메소드 안에 들어갈 이 비교자 함수는 2개의 인자가 필요합니다. 
function compare(a,b){
	return a - b 
}
let base  = [1,2,3,4,5];
base.sort((a,b)=> a-b); 
// 이런식으로 작성하면 a-b라는 과정을 거치면서 양수,음수, 0이라는 값을 얻게 된다. 
//그래서 양수가 나오면 b가 앞으로 가고, a가 뒤에 배치되는 결과를 가질 수 있다. 
//따라서위의 식은  [1, 2, 3, 4, 5] 이렇게 오름차순 정렬된 배열을 가지게 된다. 
base.sort((a,b)=> b-a) ;
//이렇게 비교함수를 작성하게 되면, 거꾸로 
// [5, 4, 3, 2, 1] 이런식의 내림차순으로 정렬된 배열을 가지게 된다. 
또한 비교함수를 써서 sort를 사용하는 경우 , 
let base = [10, 99, 123, 7];  일때, 
base.sort() // [10, 123,7,99] 이렇게 배열이 정렬되는 반면, 
base.sort((a,b)=> a-b); // [7, 10, 99, 123] 제대로 정렬된 배열을 가지게 된다. 

sort(비교함수)를 사용하면 기존 배열이 변경된(정렬된) 배열로 변경된다.
복사본을 가지는 것이 아니라 원배열이 변동되는것임을 기억하자.

profile
프론트엔드 개발자

0개의 댓글