gpt4 book ai didi

javascript - 可以将 math.max 用于对象数组吗?

转载 作者:行者123 更新时间:2023-12-03 13:17:19 24 4
gpt4 key购买 nike

我看到这样的答案,用于获取数组中的最大数字,

var arr = [1, 2, 3];
var max = Math.max(...arr);

但是对一个对象数组执行此操作怎么样,每个对象都有一个数字字段,如下所示

class test {
number: x
other_fields
}

var arr = [test1, test2, test3];
var max = Math.max(...arr);

最佳答案

首先使用.map将对象数组转换为数字数组:

var max = Math.max(
...arr.map(obj => obj.number)
);

const obj1 = {
number: 2,
prop: 'val'
};
const obj2 = {
number: 2,
prop: 'val'
};

var arr = [obj1, obj2];
var max = Math.max(
...arr.map(obj => obj.number)
);
console.log(max);

如果您需要一个对象而不仅仅是数字,请使用 reduce 代替:

const obj1 = {
number: 2,
prop: 'val'
};
const obj2 = {
number: 2,
prop: 'val'
};

var arr = [obj1, obj2];
const largestObj = arr.reduce((a, obj) => a.number > obj.number ? a : obj);
console.log(largestObj);

关于javascript - 可以将 math.max 用于对象数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60471435/

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