我知道这个问题已经得到了很多回答,但我似乎无法找到一个明确的答案。
我有一个数据看起来如下的对象:
{Tom: Array, Ant: Array, Ben: Array}
我希望将其排序,使其看起来像:
{Ant: Array, Ben: Array, Tom: Array}
有没有方便的jQuery方法来执行此操作?
感谢。
答案 0 :(得分:1)
除非您要在排序的术语中创建包含该对象属性的数组/列表,否则无法对Javascript对象的属性进行排序。
答案 1 :(得分: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: [] }
答案 2 :(得分:-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);