본문 바로가기
develop/javascript

[JS] sort

by hyoE 2021. 6. 27.
반응형

배열을 정렬할 때 사용하는 내장 함수 sort()

arr.sort([compareFunction])

 

기존의 배열 데이터를 변경시킨다.

 

문자정렬은 알파벳 순서대로, 숫자는 ASCII 코드 순서로 정렬하기 때문에 생각한 대로 정렬되지 않는다.

따라서 아래의 코드를 입력해야 한다.

 

1) 오름차순

numbers.sort(function(a, b) {
	return a - b;
});

numbers.sort((a, b) => a - b); 
// 오름차순

 

2) 내림차순

numbers.sort(function(a, b){
	return b - a;
)};

numbers.sort((a, b) => b - a);
// 내림차순

 

 

 

Object 객체를 가진 리스트도 정렬이 가능하다.

 

const participants = [
	{ name: 'A', age: 17 },
    { name: 'B', age: 21 },
    { name: 'C', age: 15 },
    { name; 'D', age: 23 },
];

// age 기준으로 정렬할 때
participants.sort(function (a, b) {
	if (a.age > b.age) {
    return 1;
}
	if (a.age < b.age) {
    return -1;
}
	return 0;
});

// name 기준으로 정렬할 때
participants.sort(function(a, b) {
	const nameA = a.name.toUpperCase(); 
    const nameB = b.name.toUpperCase();
    
	if (nameA > nameB) {
    return 1;
}
	if (nameA < nameB) {
    return -1;
}
	return 0;
});

 

반응형

'develop > javascript' 카테고리의 다른 글

[JS] bubbling & capturing  (0) 2021.07.04
[JS] filter  (0) 2021.06.28
[JS] for in / for of 그리고 map / reduce  (0) 2021.06.26
[JS] slice & splic  (0) 2021.06.25
[JS] 2차열 배열  (0) 2021.06.24

댓글