基本上我希望重複的值上升到最高,然後讓剩下的值從小到大排序(升序)。什麼,我需要Javascript首先重複排序,然後再從小到大排序
例子:
246, 246, 246, 100, 216, 553, 600
這是我的代碼輸出:
100, 216, 246, 246, 246, 553, 600
這裏是我的代碼:
// Array of objects
var unsorted = [
{
id: 1,
height: 600
},
{
id: 2,
height: 246
},
{
id: 3,
height: 216
},
{
id: 4,
height: 100
},
{
id: 5,
height: 553
},
{
id: 7,
height: 246
},
{
id: 6,
height: 246
}
];
// Sort by duplicates, then ascending
var sorted = unsorted.sort(function(a, b) {
// Attempting to sort duplicates first...
if (a.height === b.height) {
return -1;
}
if (a.height < b.height) {
return -1;
}
if (a.height > b.height) {
return 1;
}
return 0;
});
console.log(sorted);
爲了一致起見,我不想混合ES6代碼與我目前的代碼...但我很欣賞答案...我想知道是否有一個更簡單的解決方案呢? – stwhite
我重構了這個爲你匹配你的語法首選項。 –