gpt4 book ai didi

javascript - 在对象数组中查找属性的最大值并返回整个对象

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

我知道这里有人问过类似的问题:Finding the max value of an attribute in an array of objects ,但使用该方法无法返回包含最大值的整个对象。

我有这个对象数组:

[
{Prop: "something", value: 2},
{Prop: "something_else", value: 5},
{Prop: "bla", value: 3}
]

我想找到属性“value”的最大值,然后我想返回整个对象

{Prop: "something_else", value: 5}

在 javascript 中最简单的方法是什么?

最佳答案

最简单的方法是使用 reduce() 来做到这一点.我们可以用最少的步骤处理这个问题,如果当前元素的值大于前一个值,只需替换前一个值:

const objs = [
{Prop: "something", value: 2},
{Prop: "something_else", value: 5},
{Prop: "bla", value: 3}
];

const maxObj = objs.reduce((p, c) => p.value > c.value ? p : c);

console.log(maxObj);

不要对数组进行排序! 对数组进行排序的主要问题是它会导致许多不必要的迭代。您的数组越大,这会变得越慢,排序会尝试上下移动元素。

关于javascript - 在对象数组中查找属性的最大值并返回整个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26895208/

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