jquery сортировка сложного статического объекта - PullRequest
0 голосов
/ 09 марта 2009

я хочу отсортировать ключи или имя метода .. ниже приводится объект http://pastie.org/411854

Ответы [ 2 ]

2 голосов
/ 09 марта 2009

Если я правильно понимаю, вы хотели бы расположить элементы в порядке, основанном на ключе или имени метода (что является тем же значением)? Это не имеет значения для объекта, так как члены не имеют порядка.

Однако, если вы поместите эти объекты в массив следующим образом:

var apiDocs = [
    {
        "methodName": "friendsGetByUser",
        "methodDescription": "Returns user ids of friends of the specified user.",
        ...
    }, {
        "methodName": "friendsGetBestFriends",
        "methodDescription": "Returns user ids of best friends of the logged in user.",
        ...
    }
    ...
];

Затем вы можете легко отсортировать массив, вызвав Array.sort, передав функцию сравнения.

apiDocs.sort(function (a, b) {
        return a.methodName < b.methodName;
    });
0 голосов
/ 09 марта 2009

Чтобы получить отсортированный массив имен функций, вы можете использовать следующее:

var functions = [];
for(functionName in apiDocs) {
  functions.push(functionName);
}
functions.sort();

Если вы хотите выполнить какую-то более сложную сортировку, вы можете сделать что-то вроде

var functions = [];
for(functionName in apiDocs) {
  functions.push(apiDocs[functionName]);
}
functions.sort(//put sorting closure here)

Более подробную информацию о пользовательской сортировке можно получить здесь: Объяснение сортировки массива

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...