我有一個物件陣列,這些物件包含日期,其中一個包含一個
noDate: true
價值。我想對這些日期進行排序,目前我可以像這樣對它們進行排序:
data.sort((a, b) => a.date - b.date)
但我需要對它們進行排序,以便具有 noDate 真值的物件成為陣列中的第一個。我試過這個,但它不能正常作業:
data.sort((a, b) => a.noDate === true ? -1 : a.date - b.date)
uj5u.com熱心網友回復:
您可以undefined通過首先將值轉換為否定的布林值來獲取 boolean/值并獲取增量。然后按date.
const
data = [
{ id: 0, noDate: true },
{ id: 1, date: new Date('2021-10-30') },
{ id: 2, date: new Date('2020-10-30') },
{ id: 3, noDate: true },
];
data.sort((a, b) => !a.noDate - !b.noDate || a.date - b.date);
console.log(data);
data.sort((a, b) => !b.noDate - !a.noDate || a.date - b.date);
console.log(data);
.as-console-wrapper { max-height: 100% !important; top: 0; }
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/345900.html
標籤:javascript 日期
