javascript - 查找嵌套对象属性的最小值

标签 javascript object reduce

我有一个看起来像这样的对象:

const yo = {
  one: {
    value: 0,
    mission: 17},
  two: {
    value: 18,
    mission: 3},
  three: {
    value: -2,
    mission: 4},
}

我想在嵌套对象中找到 mission 属性的最小值。此行用于查找嵌套 value Prop 的最小值并返回 -2:

const total = Object.values(yo).reduce((t, {value}) => Math.min(t, value), 0)

但是当我为 mission Prop 尝试同样的事情时,它返回 0 而它应该是 3:

const total = Object.values(yo).reduce((t, {mission}) => Math.min(t, mission), 0)

我有什么遗漏或做错了吗?

最佳答案

在这种情况下,map 就足够了。

const yo = {
  one: {
    value: 9,
    mission: 17
  },
  two: {
    value: 18,
    mission: 6
  },
  three: {
    value: 3,
    mission: 4
  },
}

const total = Object.values(yo).map(({ mission }) => mission);
console.log(Math.min(...total));

关于javascript - 查找嵌套对象属性的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64962678/

相关文章:

javascript - 数组方法 `reduce` 有什么作用?

javascript - 构建一个 chrome 扩展以上传图像(从剪贴板)

javascript - 遍历数组以尝试页面上的多个选项并返回到每次迭代的初始页面

wpf - 对象属性的 RaisePropertyChanged

javascript - 具有重名的 JS 关联对象

javascript - 我如何使用 JavaScript 中的函数式样式将这个数组数组转换为对象数组?

javascript - 将一组回调函数减少为一个回调

javascript - 使用 Numeral JS 将任何数字转换为相同的比例

javascript - 如何在 JavaScript 中向具有多个异步调用的函数添加回调?

c++ - 在 C++ 中动态更改类的属性