Mengurutkan Array Berdasarkan Nilai Boolean Di JavaScript
const items = [
{ name: "Item A", featured: false },
{ name: "Item B", featured: true },
{ name: "Item C", featured: false },
{ name: "Item D", featured: true },
];
// Urutkan featured: true dulu, lalu false
items.sort((a, b) => (a.featured === b.featured ? 0 : a.featured ? -1 : 1));
console.log(items);
Penjelasan singkat:
(a.featured === b.featured) ? 0
→ kalau sama, urutan tidak berubah.a.featured ? -1 : 1
→ kalaua.featured
itutrue
, makaa
akan ditempatkan sebelumb
.
Hasil:
[
{ name: "Item B", featured: true },
{ name: "Item D", featured: true },
{ name: "Item A", featured: false },
{ name: "Item C", featured: false },
];
Kalau mau false
dulu baru true
, tinggal balik urutannya jadi:
items.sort((a, b) => (a.featured === b.featured ? 0 : a.featured ? 1 : -1));