JongTachi의 개발 블로그

[javascript] 배열 정렬 sort() 본문

JavaScript

[javascript] 배열 정렬 sort()

JongTachi 2022. 12. 20. 09:02
728x90
반응형

sort() :  배열 안의 원소를 정렬하는 함수입니다. 여기서 참고하셔야할 점은 정렬할 배열의 요소가 2개 미만(1개 이하)인 경우에는 에러가 발생합니다.(당연한 소리겠죠?)

 

1. 숫자 정렬

var num = [9, 3, 4, 6, 5, 1];

// 오름차순
num.sort(function(a, b){
	return a - b; // 결과: 1, 3, 4, 5, 6, 9
});

// 내림차순
num.sort(function(a, b){
	return b - a; // 결과: 9, 6, 5, 4, 3, 1
});

2. 문자 정렬

var car = ['bmw', 'kia', 'hyundai'];

car.sort(); // 결과 : bmw, hyindai, kia

3, 객체(Object) 정렬

/*BTS로 알아보는 SORT 정렬*/

var bts = [
	{name: "정국", age: 25},
    {name: "석진", age: 30},
    {name: "태형", age: 27},
    {name: "지민", age: 27},
    {name: "윤기", age: 29},
    {name: "남준", age: 28},
    {name: "호석", age: 28},
]

/* 이름순으로 정렬 # 오름차순 */
bts.sort(function(a, b){
	return a.name < b.name ? -1 : a.name > b.name ? 1 : 0; // 남준, 석진, 윤기, 정국, 지민, 태형, 호석
});

/* 이름순으로 정렬 # 내림차순 */
bts.sort(function(a, b){
	return a.name > b.name ? -1 : a.name < b.name ? 1 : 0; // 호석, 태형, 지민, 정국, 윤기, 석진, 남준
});


var sortingField = "age";
/* 나이순으로 정렬 # 오름차순 */
bts.sort(function(a, b){
	return a[sortingField] - b[sortingField]; // 25, 27, 27, 28, 28, 29, 30
});

/* 나이순으로 정렬 # 내림차순 */
bts.sort(function(a, b){
	return b[sortingField] = a[sortingField]; // 30, 29, 28, 28, 27, 27, 25
});
728x90
반응형