Javascript의 Array의 경우 손쉽게 prototype에 정의된 sort를 사용할 수 있으나, Associative array의 경우 사용자 정의 데이터 타입에 가깝기 때문에 Compare 함수를 만들어 줘야한다.
Associative array가 key : value 타입으로 정의되어 있다면, 아래와 같이 만들면 된다.
function aasort(arr){
var tuples = [];
for (var key in arr) tuples.push([key, arr[key]]);
tuples.sort(function(a, b) {
a = a[1];
b = b[1];
return a < b ? -1 : (a > b ? 1 : 0);
});
return tuples;
}
만약 그외의 형태라면, tuples.push당시에 해당 값을 넣어주면 된다.
또한 리턴할 필요가없다면, 그냥 함수를 만들지말고 for loop을 수행하면서 처리해도 무방하다.
'프로그래밍 > HTML, Javascript, CSS' 카테고리의 다른 글
[JS] Javascript를 이용하여 HTML 주석 지우기 / 숫자 콤마 넣기 (0) | 2019.03.28 |
---|---|
[JS] CORS 이슈 Access-Control-Allow-Origin 문제 해결하기 (0) | 2019.03.28 |
[JS] 구글 맵을 이용하여, 주소를 Geolocation(위도, 경도)로 바꾸기 (0) | 2019.03.28 |
[자바스크립트] Node.js, 자바스크립트 Object(Associative array) 종료 및 콜백 (1) | 2019.03.10 |
[Node.js / Javascript] 초당 처리 횟수 제한을 위한 윈도우 함수 (0) | 2019.03.04 |