javascript 함수 sort()

표정민·2020년 6월 29일
0
post-thumbnail

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]

🥠 Object 정렬

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}
*/

0개의 댓글