gpt4 book ai didi

javascript - 如何将 Lodash orderby 与自定义函数一起使用?

转载 作者:行者123 更新时间:2023-11-30 07:51:31 25 4
gpt4 key购买 nike

我正在使用 Lodash 的 orderby根据关键属性对多个元素进行排序。

我想通过另一个属性(容量)对它们进行优先级排序,该属性是从 0 到 9 的数字。容量为 0 的项目应排在最后,所有其他项目应按键排序。

所以capacity属性应该转换为 bool 值。我想在不更改原始对象或添加新属性或创建新数组的情况下执行此操作。

示例数据:

    [
{
"priceChild": 4098000,
"priceAdult": 4098000,
"priceInfant": 998000,
"displayIndex": 4,
"capacity": 5
},
{
"priceChild": 3698000,
"priceAdult": 3698000,
"priceInfant": 898000,
"displayIndex": 5,
"capacity": 1
},
{
"priceChild": 3006000,
"priceAdult": 3980000,
"priceInfant": 461000,
"displayIndex": 6,
"capacity": 0
},
{
"priceChild": 4912000,
"priceAdult": 6522000,
"priceInfant": 715000,
"displayIndex": 7,
"capacity": 9
}
]

这是我现在使用的排序函数:

orderBy(results, 'displayIndex', 'asc');

我想做这样的事情,但这段代码不会工作,因为三元运算符不会对每个项目都运行:

orderBy(results, [this.capacity === 0 ? true : false, 'displayIndex'], ['asc', 'asc']);

最佳答案

发现有一种方法可以在 orderby 属性中使用函数:

orderBy(results, [function(resultItem) { return resultItem.capacity === 0; }, 'displayIndex'], ['asc', 'asc']);

关于javascript - 如何将 Lodash orderby 与自定义函数一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52135009/

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