728x90
반응형
arrayobj.sort(sortFunction)
sort() : 배열 안의 원소를 정렬하는 함수
*참고 - 정렬할 배열의 요소가 2개 미만일 경우 에러발생 (sort is not a function)
1. 문자정렬
var fruit = ['orange', 'apple', 'banana'];
/* 일반적인 방법 */
fruit.sort(); // apple, banana, orange
2. 숫자정렬
var score = [4, 11, 2, 10, 3, 1];
score.sort(); // 1, 10, 11, 2, 3, 4 ( ASCII 문자 순서로 정렬되어 숫자의 크기대로 나오지 않음 )
/* 오름차순 */
score.sort(function(a, b) {
return a - b; // 1, 2, 3, 4, 10, 11
});
/* 내림차순 */
score.sort(function(a, b) {
return b - a; // 11, 10, 4, 3, 2, 1
});
3. 객체(Object) 정렬
var student = [
{ name : "재석", age : 21}
, { name : "광희", age : 25}
, { name : "형돈", age : 13}
, { name : "명수", age : 44}
]
/* 이름순으로 정렬 #오름차순 */
student.sort(function(a, b) {
return a.name < b.name ? -1 : a.name > b.name ? 1 : 0; // 광희, 명수, 재석, 형돈
});
/* 이름순으로 정렬 #내림차순 */
student.sort(function(a, b) {
return a.name > b.name ? -1 : a.name < b.name ? 1 : 0; // 형돈, 재석, 명수, 광희
});
var sortingField = "age";
/* 나이순으로 정렬 #오름차순 */
student.sort(function(a, b) {
return a[sortingField] - b[sortingField]; // 13, 21, 25, 44
});
/* 나이순으로 정렬 #내림차순 */
student.sort(function(a, b) {
return b[sortingField] - a[sortingField]; // 44, 25, 21, 13
});
728x90
반응형
'Javascript' 카테고리의 다른 글
[Javascript] 양수 음수 변환 (0) | 2020.07.16 |
---|---|
[Javascript] foreach 문 이용하여 JSON 값 가져오기 (json key get value) (0) | 2020.05.13 |
[Javascript] 부모창에서 자식창 열기, 자식창에서 부모창으로 값 전달 / opener 부모,자식창 데이터 교환 (1) | 2020.05.12 |
[Javascript] 현재 URL 파라미터값 가져오기 (1) | 2020.05.12 |
[Javascript] 날짜 일수 자동계산 (0) | 2020.05.12 |