我知道這個問題已經回答了很多,但我似乎無法找到我需要的確切答案。jQuery排序對象數組
我有一個數據的對象,看起來像:
{Tom: Array, Ant: Array, Ben: Array}
我想這個排序,使它看起來像:
{Ant: Array, Ben: Array, Tom: Array}
是否有一個方便的jQuery的方法來做到這一點?
謝謝。
我知道這個問題已經回答了很多,但我似乎無法找到我需要的確切答案。jQuery排序對象數組
我有一個數據的對象,看起來像:
{Tom: Array, Ant: Array, Ben: Array}
我想這個排序,使它看起來像:
{Ant: Array, Ben: Array, Tom: Array}
是否有一個方便的jQuery的方法來做到這一點?
謝謝。
你可以不用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: [] }
這裏是一個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);
Downvoter:OP想要做的是一個有效的需求以編程方式。如果有解決方案能夠有效實現這一目標,我相信它對每個人都有用,而不是無聲的倒退。 –
Javascript對象的屬性不能被排序,除非你想創建一個包含排序中該對象屬性的數組/列表d期限。
如果它是您的語言和「{}」所暗示的對象,那麼這些鍵沒有順序並且無法排序。用一個真實的代碼示例來闡述你想要解決的問題。 –