将数组作为值对javascript对象进行排序

将数组作为值对javascript对象进行排序,javascript,arrays,sorting,object,Javascript,Arrays,Sorting,Object,我有一个格式为key:pair的Javascript对象,其中pair是一个包含2个时间戳值的数组。我想对这个对象进行排序,以便首先显示数字最少(最早时间)的元素 下面是对象的示例:{“21_2”:[14091588001409160000],“20_1”:[14091480001409149200],“56_1”:[14091498001409151600]} 因此,在本例中,我希望最终排序的对象为: {“20_1”:[14091480001409149200],“56_1”:[1409149

我有一个格式为
key:pair
的Javascript对象,其中
pair
是一个包含2个时间戳值的数组。我想对这个对象进行排序,以便首先显示数字最少(最早时间)的元素

下面是对象的示例:
{“21_2”:[14091588001409160000],“20_1”:[14091480001409149200],“56_1”:[14091498001409151600]}

因此,在本例中,我希望最终排序的对象为:

{“20_1”:[14091480001409149200],“56_1”:[14091498001409151600],“21_2”:[14091588001409160000]}

显然,
sort()
函数将在这里对数组起作用,但是如何访问对象中的这些值呢?请注意,由于下划线的原因,对象键实际上不是整数


我发现了这一点:但无法将其应用于我的情况。非常感谢您的帮助。

您可以通过以下方式更改数据结构:

var myArray = [{
        "id" : "21_2" // id or whatever these are
        "timeStamps" : [1409158800,1409160000]
    }, {
        "id" : "20_1"
        "timeStamps" : [1409148000,1409149200]
    }];
然后可以按常规数组排序:

myArray.sort(function(a, b){
    // however you want to compare them:
    return a.timeStamps[0] - b.timeStamps[0]; 
});

不能对JavaScript对象进行排序。只能对数组进行排序。除此之外,您想做什么?这个问题可能会有所帮助:@Cerbrus的可能重复我们不能把它放在一边,问题到此为止你不能对JavaScript对象进行排序,除非你将其改为数组“排序”这个对象的最终目标是什么?通过说“我希望最终排序的对象读取”,您基本上是说您希望修改
toString()
函数。这就是我想要的。非常感谢。