2012-07-19 4 views
0

정렬 :나는이 JSON 객체를 정렬 시도하고있어 중첩 된 JSON 배열

JSONObject = { 
    "command": [{ 
     "geobox": [...], 
     "jobName": "...", 
     "keywords": ["..."], 
     "users": ["..."] 
    }, { 
     "geobox": [...], 
     "jobName": "...", 
     "keywords": ["...", "..."], 
     "users": ["...", "...", "..."] 
    }], 
    "type": "..." 
} 

그것은이 중첩 된 JSON 객체의 배열 정말하지 않습니다 걱정 "형"이다 "명령"을 가지고있다. jobName 값에 따라 "command"에서 중첩 된 json 객체의 배열을 알파벳순으로 정렬하기를 원합니다. 나는 이런 식으로 시도했지만 작동하지 않았다.

JSONObject.command.sort(function (a, b) { 
    return JSONObject.command[a].jobName - JSONObject.command[b].jobName 
}); 

답변

2
var compareStr = function (a, b) { 
    if (a.jobName == b.jobName) 
     return 0; 
    if (a.jobName > b.jobName) 
     return 1; 
    return -1; 
}; 
JSONObject.command.sort(compareStr); 
+0

이 컴파일하고 실행하고 내 페이지가이 정렬 방법을 사용하여 내 함수를 호출하지 않습니다,하지만 난 그것을 밖으로 시도 할 때 잘 정렬 나타나지 않습니다. JSONObject를 다시 호출하면 같은 순서로 나타나는데, 알파벳순으로 시작하지 않았습니다. –

+0

작동하도록 코드를 수정했습니다. –

관련 문제