Home sort()
Post
Cancel

sort()

πŸ”₯ 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κ°€ λ§¨μ•žμœΌλ‘œ λ‚˜μ˜΄
This post is licensed under CC BY 4.0 by the author.

GitHub Action AWS S3 μžλ™λΉŒλ“œ κ°€μ΄λ“œ

μˆœμ—΄κ³Ό μ‘°ν•©