2015-10-05 2 views
0

Я знаю, что на этот вопрос был дан ответ, но я не могу найти окончательный ответ за то, что мне нужно.jQuery Сортировка объекта Array

У меня есть объект с данными, который выглядит как:

{Tom: Array, Ant: Array, Ben: Array} 

Я хочу, чтобы это сортируется так, что она выглядит следующим образом:

{Ant: Array, Ben: Array, Tom: Array} 

Есть удобный способ JQuery сделать это?

Спасибо.

+2

Если это объект, подразумеваемый вашим языком и '{}', то ключи не имеют порядка и не могут быть отсортированы. Возможно, уточните, какую проблему вы пытаетесь решить с помощью реального примера кода. –

ответ

0

Вы можете сделать это без JQuery:

var unorderedObj = { Tom: [], Ant: [], Ben: [] }; 

var keys = Object.keys(unorderedObj); 

var sortedKeys = keys.sort(); // [ 'Ant', 'Ben', 'Tom' ] 

var sortedObj = {};  

sortedKeys.forEach(function(k) { 
    sortedObj[k] = unorderedObj[k] 
}) 

console.log(sortedObj); // { Ant: [], Ben: [], Tom: [] } 
+0

@Downvoter: Можете ли вы объяснить, почему downvote? Этот ответ дает решение для OP – Daniel

+0

Hmm - так что это работает Хотя (незначительная разница) мои новые отсортированные результаты выглядят так: [{мои данные ..}] А именно его в массиве – userMod2

+0

@ userMod2: Я сделал редактирование, чтобы точно соответствовать тому, что вам нужно – Daniel

-1

Вот JavaScript/функция JQuery для сортировки объектов по ключевым:

function sortObj(o){// where o is the raw object 
    var keys = Object.keys(o); 
    var sorted = keys.sort(); 

    var obj = {}; 
    $.each(sorted, function(i, key) { 
     obj[key] = o[key]; 
    }); 
    return obj; 
} 

Использование в качестве:

var rawobj = {Tom: [], Ant: [], Ben: []}; 
var sortedobj = sortObj(rawobj); 
+0

Downvoter: То, что OP хочет сделать, является действительной потребностью программно. И если есть решение, которое достигает этого эффективно, я считаю его гораздо более полезным для всех, чем тихий downvote. –

1

Javascript объекта, свойства не могут быть отсортированы, если только вы не хотите создать массив/список, содержащий свойства этого объекта в сортировке d термин.