JavaScript
JS Sorting
ToKor
2020. 12. 18. 01:19
- sort() 함수를 이용(원본 데이터의 변화가 생김)
var strArr = ["hotdog", "hitman", "outgoing", "fourball", "strikout", "foultip", "homerun"];
var numArr = [32,12,50,11,18,312,14,32];
/* string res === strArr */
var res = strArr.sort(); // ["foultip", "fourball", "hitman", "homerun", "hotdog", "outgoing", "strikout"]
/* string 특정위치부터 정렬시 res === strArr */
var res = strArr.sort(function(a,b){
var aa = a.substr(3); // 4번째 자리부터 비교
var bb = b.substr(3);
return aa == bb?0:aa<bb?-1:1;
}); // ["hotdog", "homerun", "outgoing", "strikout", "foultip", "hitman", "fourball"]
/* reverse() */
var res = strArr.reverse(); // ["homerun", "foultip", "strikout", "fourball", "outgoing", "hitman", "hotdog"]
/* number res === numArr */
var res = numArr.sort(); // [11, 12, 14, 18, 312, 32, 32, 50] 숫자를 앞자리부터 비교하므로 정렬이 안됨
var res = numArr.sort(function(a,b){return a-b;}); // [11, 12, 14, 18, 32, 32, 50, 312] DESC는 b-a