【发布时间】:2021-05-08 20:11:56
【问题描述】:
const modules = [
{ name: 'Wood', checked: false },
{ name: 'Metal', checked: false },
{ name: 'Earth', checked: true },
{ name: 'Water', checked: false },
{ name: 'Air', checked: true },
{ name: 'Fire', checked: false },
]
我正在尝试对数组进行排序,以便先出现 True 值,然后是 False 值。
const orderedModules = modules.sort((a, b) => (a.checked ? -1 : 1))
但是,我想保留 True 值的顺序。上面的代码有时会将 Air 放在首位,然后是 Earth(如果运行两次)。如何始终保持订单?
【问题讨论】:
标签: javascript arrays algorithm object