,我有以下對象數組:排序多個索引
[
{
folder: 'ddd'
},
{
folder: 'aaa'
},
{
file: 'zzz'
}
]
我想通過文件密鑰首先進行排序,然後按文件夾鍵 - 我該怎麼辦呢?我寫了這樣的東西:
var s = function (arr, type) {
arr.sort(function (a, b) {
var aHasKey = false, bHasKey = false;
var aValue, bValue;
if (a.hasOwnProperty(type) == true) {
aHasKey = true;
aValue = a[type];
}
if (b.hasOwnProperty(type) == true) {
bHasKey = true;
bValue = b[type];
}
if (aHasKey == true && bHasKey == true) {
if (aValue < bValue) return -1;
if (aValue == bValue) return 0;
if (aValue > bValue) return 1;
} else if (aHasKey == true) {
return 1;
} else if (bHasKey == true) {
return -1;
} else {
return 0;
}
});
};
s(arr, 'file');
s(arr, 'folder');
但它似乎只對文件夾,而不是文件進行排序。我應該怎麼做?
請添加更多的數據進行排序。擁有所有項目文件夾和文件密鑰? –