js 获取对象数组中某个字段的最大值和最小值

发布时间 2023-07-21 08:40:08作者: 小小菜鸟04
const arr = [
  { id: 1, value: 10 },
  { id: 2, value: 5 },
  { id: 3, value: 8 },
  { id: 4, value: 3 },
  { id: 5, value: 12 }
];

const min = arr.reduce((prev, current) => (prev.value < current.value ? prev : current)).value;
const max = arr.reduce((prev, current) => (prev.value > current.value ? prev : current)).value;

console.log(min); // 3
console.log(max); // 12

在上述示例中,我们使用Array.reduce()方法迭代对象数组arr。我们使用两个回调函数作为reduce()的参数。第一个回调函数用于比较两个元素的值,然后返回值较小的元素。第二个回调函数用于比较两个元素的值,然后返回值较大的元素。这样,通过迭代数组元素,并根据字段的值来更新最小值和最大值,我们最终得到了最小值和最大值。

请注意,在此示例中,假设对象数组的字段值都是数值类型。如果你的字段值是其他类型(字符串、日期等),请根据实际情况进行适当的比较处理。