π₯ sort()
π sort()μ κΈ°λ³Έ
sort((a,b)=>a-b) : μ€λ¦μ°¨μ
sort((a,b)=>b-a) : λ΄λ¦Όμ°¨μ
1
2
3
4
5
6
7
8
9
10
11
12
13
var aa = [1, 2, 3, 4, 5];
var bb = ["a", "b", "c", "d", "e"];
aa.sort(); // 1,2,3,4,5
aa.sort((a, b) => a - b); //1,2,3,4,5
aa.sort((a, b) => b - a); //5,4,3,2,1
bb.sort(); // a,b,c,d,e
bb.sort((a, b) => a - b); //a,b,c,d,e
bb.sort((a, b) => b - a); //a,b,c,d,e
//λ¬Έμμ΄ ν¬κΈ° λΉκ΅
bb.sort((a, b) => a + b - (b + a)); //e,d,c,b,a
bb.sort().reverse(); //e,d,c,b,a
bb.sort((a,b)=>(a+b)-(b+a)) μ bb.sort().reverse() κ°λ? 그건 λ μλ..
reverseλ sort() λκ²μ λ€μ§μ΄μ λ§λ λ°°μ΄μ΄κ³ μ λ ¬ μν¨κ²μ΄ μλκΈ° λλ¬Έ
1
2
3
4
5
6
7
var cc = ["52", "51", "50", "5"];
cc.sort(); // 5, 50, 51, 52
cc.sort().reverse(); // 52, 51, 50, 5
cc.sort((a, b) => a + b - (b + a)); // 50, 51, 52, 5
cc.sort((a, b) => b + a - (a + b)); // 5, 52, 51, 50
sort() μμ μ ν (a,b) => return μ΄ compareFunction μΈλ°
compareFunction μμ return λλ κ°μ΄
0 > return(+) : a κ° b λ³΄λ€ μμΌλ‘ κ°
0 = return : a μ b μ μ리λ₯Ό λ°κΎΈμ§ μμ
0 < return(-) : b κ° a λ³΄λ€ μμΌλ‘ κ°
1
2
3
4
5
6
7
// cc = ['52','51','50','5']
cc.sort((a, b) => a + b - (b + a)); // 50, 51, 52, 5
//λ λ¬Έμμ΄μ ν©μΉ κ²μ ν¬κΈ°μ λ°λΌ κ²°μ λ¨
// '5251' - '5152' μ΄λ°μ
cc.sort((a, b) => b + a - (a + b)); // 5, 52, 51, 50
//μ΄κ±°λ μμ 쑰건과 λ°λμ΄κΈ° λλ¬Έμ 5κ° λ§¨μμΌλ‘ λμ΄