1
假设我有以下的Javascript结构:的JavaScript对象快速排序
[
{
"hash": "fe5642d26d04cc7e7d47daa426da2a79e244bdcbae1594a12578f0d6fe03082e",
"path": "/Users/justin/test/node-w.tar.gz"
},
{
"hash": "b1adffc1988b7339c7d4c59310fb3a64ce89e776a4924d492e819a08a7dce3fd",
"path": "/Users/justin/test/level-1/level-1-1/music.mp3"
},
{
"hash": "fe5642d26d04cc7e7d47daa426da2a79e244bdcbae1594a12578f0d6fe03082e",
"path": "/Users/justin/test/level-1/level-1-1/node-z.tar.gz"
},
{
"hash": "2e456c8de66a4ab6cf929d52bd6928b2d0096a8116891ade3dde9588c5f6b3c2",
"path": "/Users/justin/test/logo_large.psd"
},
{
"hash": "fe5642d26d04cc7e7d47daa426da2a79e244bdcbae1594a12578f0d6fe03082e",
"path": "/Users/justin/test/level-1/node-y.tar.gz"
},
{
"hash": "fce57d4407e847c4c13cb2867d3f00f2aed4b5c569385d04765abe2fcae726bb",
"path": "/Users/justin/test/level-1/install.dmg"
}
]
这只是一个简单的例子,在现实中,它的将是数千,甚至数万对象的长。我想将hash
上的副本分组,所以基本上按照最快的方式进行排序,以便快速排序。结果,那么应该是这样的:
[
{
"hash": "2e456c8de66a4ab6cf929d52bd6928b2d0096a8116891ade3dde9588c5f6b3c2",
"path": "/Users/justin/test/logo_large.psd"
},
{
"hash": "b1adffc1988b7339c7d4c59310fb3a64ce89e776a4924d492e819a08a7dce3fd",
"path": "/Users/justin/test/level-1/level-1-1/music.mp3"
},
{
"hash": "fce57d4407e847c4c13cb2867d3f00f2aed4b5c569385d04765abe2fcae726bb",
"path": "/Users/justin/test/level-1/install.dmg"
},
{
"hash": "fe5642d26d04cc7e7d47daa426da2a79e244bdcbae1594a12578f0d6fe03082e",
"path": "/Users/justin/test/node-w.tar.gz"
},
{
"hash": "fe5642d26d04cc7e7d47daa426da2a79e244bdcbae1594a12578f0d6fe03082e",
"path": "/Users/justin/test/level-1/level-1-1/node-z.tar.gz"
},
{
"hash": "fe5642d26d04cc7e7d47daa426da2a79e244bdcbae1594a12578f0d6fe03082e",
"path": "/Users/justin/test/level-1/node-y.tar.gz"
}
]
我会使用内置'string.stringCompare'或'string.localeCompare'而不是在一对丑陋的三元组中滚动自己。 –
@AaronDufour - 谢谢,不知道那种方法。虽然我认为我的三元组很漂亮:)。 – nrabinowitz
我觉得一个三元组很漂亮,但是嵌套的三元组让我害怕。 –