gpt4 book ai didi

javascript - 根据可能为 null 的属性对数组进行排序

转载 作者:行者123 更新时间:2023-12-04 17:27:57 25 4
gpt4 key购买 nike

我有一个对象数组:

let items = [
{ name: 'eric', value: 1 },
{ name: 'bob', value: 4 },
{ name: 'michael', value: 0 },
{ name: 'john', value: 3 },
{ name: 'brad', value: null },
{ name: 'martin', value: 2 },
{ name: 'chris', value: null }
];

我想对我的数组进行排序,以便可以按“值”属性对对象进行排序,如果它为空,则将对象放在数组的底部:

  { name: 'michael', value: 0 },
{ name: 'eric', value: 1 },
{ name: 'martin', value: 2 },
{ name: 'john', value: 3 },
{ name: 'bob', value: 4 },
{ name: 'brad', value: null },
{ name: 'chris', value: null }

->

我已经试过了;

items.sort((a, b) => {
return (a.orde ===null)-(b.ordre===null) || +(a.ordre>b.ordre)||-(a.ordre<b);
});

但是好像不行

建议?

最佳答案

您可以先检查 null,然后按值排序。

let items = [{ name: 'eric', value: 1 }, { name: 'bob', value: 4 }, { name: 'michael', value: 0 }, { name: 'john', value: 3 }, { name: 'brad', value: null }, { name: 'martin', value: 2 }, { name: 'chris', value: null }];

items.sort(({ value: a }, { value: b }) => (a === null) - (b === null) || a - b);

console.log(items);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 根据可能为 null 的属性对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62179940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com