I have some JSON data that I get from a server. In my JavaScript, I want to do some sorting on it. I think the sort() function will do what I want.
However, it seems that JavaScript is converting the JSON data into an Object immediately on arrival. If I try to use the sort() method, I get errors a-plenty (using Firebug for testing).
I've looked around the net, and everyone seems to say that for one thing, JSON objects are already JavaScript arrays, and also that Objects can be treated just like arrays. Like over on this question, where in one of the answers, a guy says "The [Object object] is your data -- you can access it as you would an array."
However, that is not exactly true. JavaScript won't let me use sort() on my object. And since the default assumption is that they're all the same thing, there don't seem to be any instructions anywhere on how to convert an Object to an Array, or force JavaScript to treat it as one, or anything like that.
So... how do I get JavaScript to let me treat this data as an array and sort() it?
Console log output of my object looks like this (I want to be able to sort by the values in the "level"):
OBJECT JSONdata
{
1: {
displayName: "Dude1",
email: "[email protected]<mailto:[email protected]>",
lastActive: 1296980700,
level: 57,
timeout: 12969932837
}, 2: {
displayName: "Dude2",
email: "[email protected]<mailto:[email protected]>",
lastActive: 1296983456,
level: 28,
timeout: 12969937382
}, 3: {
displayName: "Dude3",
email: "[email protected]<mailto:[email protected]>",
lastActive: 1296980749,
level: 99,
timeout: 129699323459
}
}
question from:
https://stackoverflow.com/questions/4929924/how-to-sort-a-javascript-object-or-convert-it-to-an-array 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…