1
一個JavaScript對象,我有以下格式對象的集合:主鍵排序
{
{
"articleId": "a0sf1000004najmAAA",
"articleName": "A value for name",
"footnote": "",
"mainCat": "A Category 1",
"subCat": "A SubCategory 1",
}, {
"articleId": "a0sf1000004najmAAA",
"articleName": "A value for name",
"footnote": "",
"mainCat": "A Category 1",
"subCat": "A SubCategory 2",
},
}
減少和分組後,我想有以下幾點:
{
"A Category 1": {
"A SubCategory 1": {
{
some items belonging to SubCat 1 and Cat 1
}
},
"A SubCategory 2": {
{
some items belonging to SubCat 2 and Cat 1
}
}
}
}
現在,我可以返回按子類別分組的所有單個文章,但是如何將我的子類別按其主類別分組?
var catalog = data;
var groupBySubCat = catalog.reduce(function(obj, item) {
obj[item.subCat] = obj[item.subCat] || [];
obj[item.subCat].push(item);
return obj;
}, {});
var groups = Object.keys(groupBySubCat).map(function(key) {
return {
subCat: key,
tests: groupBySubCat[key]
};
});
var maingroups = Object.keys(groupBySubCat).map(function(key) {
return {
subCat: key,
tests: groupBySubCat[key]
};
});
任何改進將不勝感激。
這是原始json數據中的拼寫錯誤嗎?即使我期望有一個數組,也沒有括號。 – styfle
你想分組嗎,或者你想分類嗎?注意對象屬性是無序的。 – Bergi
您的標題提到'排序'...您的代碼不排序... –