var 어레이 = ['가', '다', '나'];
어레이.sort(function(a, b){
return 여기뭐써야함?
});
sort 함수 작동원리는
- a, b는 array안에 있던 자료들임
- return 우측이 양수면 a를 우측으로 보냄
- return 우측이 음수면 b를 우측으로 보냄
- array 안의 자료를 다 끌고와서 a, b에 계속 넣어봄
이렇습니다.
위 코드에서 중요한건 return 우측에 뭘 집어넣냐는 건데
예를 들어서
(1) a, b가 '가', '다' 일 경우 return 우측에 양수가 들어가야 다나가순 정렬이 됩니다.
(2) a, b가 '다', '나' 일 경우 return 우측에 음수가 들어가야 다나가순 정렬이 됩니다.
(3) a, b가 '가', '나' 일 경우 return 우측에 양수가 들어가야 다나가순 정렬이 됩니다.
....
이렇게 대충 하나하나 대입해서 따져보면 규칙같은게 눈에 보이는군요.
a < b 일 경우 return 우측에 양수가 들어가면 되고
a > b 일 경우 return 우측에 음수가 들어가면 됩니다.
(자바스크립트는 문자끼리 부등호비교가 가능합니다. ㄱ보다 ㅎ 이게 더 큽니다.)
var 어레이 = ['가', '다', '나'];
어레이.sort(function(a, b){
if (a < b) {
return 1
} else {
return -1
}
});
console.log(어레이)
그래서 한글로 번역해봤습니다.
출력해보니까 다나가 순으로 잘 정렬된 것 같군요.