我有一個陣列,productData有多個屬性。這就是我目前monthlyCost按升序對陣列進行排序的方式。
如何修改它以按布爾屬性對所有專案進行排序isPromoted,然后是monthlyCost?
我的陣列應該從排序的所有專案開始isPromoted == true,monthlyCost然后是isPromoted == false排序的所有專案monthlyCost。
productData.sort((a, b) => {
if (a.monthlyCost > b.monthlyCost) {
return 1;
} else if (a.monthlyCost < b.monthlyCost) {
return -1;
} else {
return 0;
}
});
uj5u.com熱心網友回復:
您可以使用此回呼:
productData.sort((a, b) => b.isPromoted - a.isPromoted || a.monthlyCost - b.monthlyCost);
一元加號在純 JavaScript 中是可選的,但在 TypeScript 背景關系中,您需要明確轉換為 number 和 apply 。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/491978.html
標籤:javascript 排序
