2011-11-30 63 views
0

什么是秩序和改造的最佳途径:重新排序对象

{ 
    '32': 'foo', 
    '24': 'bar', 
    '36': 'doe' 
} 

到:

[ 
    {'24': 'bar'}, 
    {'32': 'foo'}, 
    {'36': 'doe'} 
] 

我需要根据关键,这是在原有对象的字符串进行排序。 jQuery的API被允许使用。

+0

这些是2个完全不同的对象....一个是与对象一些属性,另一个是和数组对象元素... – Neal

+0

我在第一句中添加了“变换”。它基本上是相同的数据,但我需要一个可以按顺序循环的数组。 – David

+0

请参阅下面的答案。 – Neal

回答

2

试试这个:

function arrayMe(obj){ 
    var indexes = []; 
    for(index in obj){ 
     indexes.push(index); 
    } 
    indexes.sort(); 
    var return_array = []; 
    for(var i = 0; i < indexes.length; i++){ 
     return_array[i] = {}; 
     return_array[i][indexes[i]] = obj[indexes[i]]; 
    } 
    return return_array; 
} 

所有您需要做的是:

arrayMe(oldObject); 

小提琴:http://jsfiddle.net/maniator/uBqjt/