[javascript] 배열 정렬 함수, sort()

teddy·2021년 5월 2일
0

기본

  • 배열을 순서대로 정렬한다
[b,e,a,d].sort()
// [a, b, d, e]로 정렬 됨

[50,30,20,7].sort()
// [20, 30, 50, 7]로 정렬 됨

but 아스키코드(사전) 순으로 정렬하기 때문에 숫자 크기 순으로 정렬이 안 된다!!
sort 메소드에 정렬 순서를 정의하는 비교 함수를 인수로 전달해야 한다.

오름차순

[50,30,20,7].sort((a,b) => {
	return a-b; // return 값이 0보다 작으면 a를 우선하여 정렬
})
// [7, 20, 30, 50]

내림차순

[50,30,20,7].sort((a,b) => {
	return b-a; // return 값이 0보다 작으면 b를 우선하여 정렬
})
// [50, 30, 20, 7]

비교함수의 반환값이 0보다 작으면 비교함수의 첫 번째 인자를 우선하여 정렬하고, 0이면 정렬하지 않으며, 0보다 크면 두 번째 인수를 우선하여 정렬한다

0개의 댓글