gpt4 book ai didi

javascript - 具有嵌套空值的 Lodash/JS orderBy

转载 作者:行者123 更新时间:2023-11-30 06:13:52 25 4
gpt4 key购买 nike

我的问题有点与这个有关,但更复杂一步:lodash orderby with null and real values not ordering correctly

基本上我有这样的东西:

let objs = [{x: {y: 1, z: 2}, a: 3}, {x: null, a: 4}];
let sortKeys = ['x.y', 'a']; //this is dynamic, can have multiple fields

用户可以传递不同的值进行排序,例如 x.y 或只是 a 有时 x 为 null。所以当我使用普通的 _.orderBy(objs, sortKeys, ['desc']) 它首先显示空值。

我怎样才能使空值出现在最后?

最佳答案

纯 ES6 解决方案看起来像这样:

let objs = [{x: {y: 1, z: 2}, a: 3}, {x: null, a: 4}];

objs.sort(({x: x1}, {x: x2}) => {
const y1 = x1 === null ? Infinity : x1.y;
const y2 = x2 === null ? Infinity : x2.y;

return y1 - y2;
});

console.log(objs);

null 只是按最大可能值加权并相应地排序。

关于javascript - 具有嵌套空值的 Lodash/JS orderBy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57332735/

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