javascript 함수 sort()에 대하여 알아보도록 하자.
ASCII 문자 순서(오름차순)로 정렬된다.
let arr = ['lg', 'samsung', 'apple'];
arr.sort();
console.log(arr); // output ["apple", "lg", "samsung"]
let arr = [25, 2, 4, 12, 11, 1, 6];
arr.sort();
console.log(arr); // output [1, 11, 12, 2, 25, 4, 6]
arr.sort(function(a, b) { // 오름차순
return a - b;
});
console.log(arr); // output [1, 2, 4, 6, 11, 12, 25]
arr.sort(function(a, b) { // 내림차순
return b - a;
});
console.log(arr); // output [25, 12, 11, 6, 4, 2, 1]
var obj = [
{ name : "학근", age : 22},
{ name : "수호", age : 100},
{ name : "정민", age : 18},
{ name : "승권", age : 2},
{ name : "기준", age : 21},
{ name : "동섭", age : 11},
{ name : "명호", age : 14},
{ name : "종호", age : 77}
]
obj.sort(function(a, b) {
return a.name < b.name ? -1 : a.name > b.name ? 1 : 0;
});
console.log(obj);
/**
output
0: {name: "기준", age: 21}
1: {name: "동섭", age: 11}
2: {name: "명호", age: 14}
3: {name: "수호", age: 100}
4: {name: "승권", age: 2}
5: {name: "정민", age: 18}
6: {name: "종호", age: 77}
7: {name: "학근", age: 22}
*/
obj.sort(function(a, b) { // 이름순 정렬
return a.age < b.age ? -1 : a.age > b.age ? 1 : 0;
});
console.log(obj);
/**
output
0: {name: "승권", age: 2}
1: {name: "동섭", age: 11}
2: {name: "명호", age: 14}
3: {name: "정민", age: 18}
4: {name: "기준", age: 21}
5: {name: "학근", age: 22}
6: {name: "종호", age: 77}
7: {name: "수호", age: 100}
*/