μ½λ©ν μ€νΈ λ¬Έμ λ₯Ό νλ€κ° μ«μλ₯Ό μ€λ¦μ°¨μμΌλ‘ μ λ ¬ν΄μΌ νλ λΆλΆμμ sort()λ₯Ό μ¬μ©νλλ μ«μκ° μ λλ‘ μ λ ¬λμ§ μκ³ μμ€ν€ λ¬Έμ κΈ°μ€μΌλ‘ μ λ ¬λμλ€.
ꡬκΈλ§μ ν΄λ³Έ κ²°κ³Ό sort() ν¨μ μμ λ€λ₯Έ μ΅λͺ μ ν¨μλ₯Ό μ¨μ κ°μ 리ν΄νλλ°β¦ μμ§ν μ리λ₯Ό μ΄ν΄νμ§ λͺ»νκ³ κ·Έλ₯ μκΈ°ν ν μ μ©νκΈ°λ§ νλ€.
νμ§λ§ κ³μν΄μ μ«μλ₯Ό μ λ ¬ν΄μΌ νλ μν©λ€μ΄ μκΈ°λ©΄μ λ체 μ sort() μμ λ λ€λ₯Έ ν¨μλ₯Ό μ¬μ©ν΄μ μ λ ¬μ ν΄μΌ νλμ§ κ·Έ μλ¦¬κ° κΆκΈνλ€.
: λ¨Όμ sort()λ λ°°μ΄μ μμλ₯Ό μ λ ¬ν λ μ¬μ©νλ ν¨μλ€.
곡μ λ¬Έμμ λ°λ₯΄λ©΄ κΈ°λ³Έ ꡬ문μ μλμ κ°μλ€.
arr.sort([compareFunction])
β λ¨μν sort() κ΅¬μ‘°μΈ μ€ μμμ§λ§ νΉμ΄ν 맀κ°λ³μκ° μ‘΄μ¬νλ€.
νμ§λ§ μ€μν κ²μ μ΄ λ§€κ°λ³μλ₯Ό μλ΅νκ² λλ€λ©΄ λ°°μ΄μ μμλ€μ μμ€ν€ λ¬Έμ κΈ°μ€μ μ€λ¦μ°¨μμΌλ‘ μ λ ¬μ΄ λλ€.
arr.sort()
β λ€μκ³Ό κ°μ΄ μμ£Ό μΌλ°μ μΈ κ΅¬μ‘°λ‘ μ¬μ©νκ² λλ©΄ ν΄λΉ λ°°μ΄μ λ¬Έμ κΈ°μ€ μ€λ¦μ°¨μμΌλ‘ μ λ ¬μ΄ λλ€λ κ²!
맀κ°λ³μλ₯Ό μλ΅νκ³ μ«μκ° λ΄κΈ΄ λ°°μ΄μ μ λ ¬νκ² λλ©΄ μ«μμ ν¬κΈ°λλ‘ μ λ ¬μ΄ λμ§ μμμ μνλ κ²°κ³Όκ°μ μ»μ§ λͺ»νκ² λ κ²!
β μ¦, μ«μ κΈ°μ€μΌλ‘ μ λ ¬μ νκΈ° μν΄μλ 맀κ°λ³μλ₯Ό μ¬μ©ν΄μΌ νλ€.
β μ«μ νμ μ κΈ°μ€μΌλ‘ μ λ ¬νκΈ° μν΄μλ compareFunction μ μΈμ ν΄μΌ νλ€.
[ νμ© λ°©λ² ]
let array = [2, 23, 4, 67, 120]
function compare(a, b){
return a - b
}
array.sort(compare)
λ°°μ΄μ μμλ€μ νλμ© λΉκ΅ν μ μλλ‘ νλ ν¨μ compareμ μ μΈν νμ sort ν¨μμ 맀κ°λ³μλ‘ λ£μ΄μ€λ€.
μ¦, sort ν¨μλ₯Ό compare κΈ°μ€μΌλ‘ μ λ ¬νλ€λ μλ―Έλ‘ μ΄ν΄νλ©΄ λ κ² κ°λ€!
π μ리 μ΄ν΄νκΈ°
λ¬Έμ λ, compare ν¨μμ μλ¦¬κ° λ¬΄μμΈμ§ κΆκΈνλ€λ κ²β¦!
compare ν¨μλ aμ bλ₯Ό 맀κ°λ³μλ‘ λ°κ³ a, b 맀κ°λ³μμ arrayμ μμλ€μ νλμ© λμ ν΄ λΉκ΅νλ€.
λ§μ½ aκ° 2, bκ° 23λΌλ©΄ a-bλ 2-23λ‘ κ²°κ³Όκ°μ΄ -21 μμκ° λλ€.
μ΄λ μ°μ°μ κ²°κ³Όκ° μμλΌλ©΄ 2μ 23μ μμΉλ₯Ό κ·Έλλ‘ λλ€.
νμ λλ€μ λ€λ₯Έ μμλ€λ λ€μ λΉκ΅λ₯Ό μμνλ€.
λ€μμΌλ‘λ aκ° 23, bκ° 4λΌλ©΄ 23 - 4λ‘ κ²°κ³Όκ°μ΄ 19 μμκ° λλ€.
μ΄λ μ°μ°μ κ²°κ³Όκ° μμλΌλ©΄ 23κ³Ό 4μ μμΉλ₯Ό λ°κΏλ²λ¦°λ€.
23 β 4 μμ 4 β 23 μ€λ¦μ°¨μμΌλ‘ μμλ₯Ό λ°κΏλ²λ¦¬λ κ²μ΄λ€.
- λ΄λ¦Όμ°¨μμΌλ‘ μ λ ¬μ νκΈ° μν΄μλ a - bκ° μλ b - aλ₯Ό λ°ννλ©΄ λλ€.
μμ μλ¦¬λ‘ μ μ μλ κ²μ, μ΅λͺ μ ν¨μ compareμ λ°°μ΄μ μμλ€μ νλμ© λΉκ΅ν΄μ μμΉλ₯Ό λ³κ²½νλ μν μ νλ€λ κ²μ΄λ€.
μλ²½ν μ΄ν΄λ μλ μ μμ§λ§ κ·Έλλ μ΄λ μ λ μ리λ₯Ό μκ³ λλ λ λ€μνκ² sort ν¨μλ₯Ό νμ©ν μ μμ κ² κ°λ€!
array.sort((a, b) => a - b); // μ€λ¦μ°¨μ
μ°Έκ³ : https://noirstar.tistory.com/359
https://brunch.co.kr/@swimjiy/12