为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

蓝山帝景 2023-08-24 21:04:27
我有一个看起来像这样的对象:const yo = {  one: {    value: 0,    mission: 17},  two: {    value: 18,    mission: 3},  three: {    value: -2,    mission: 4},}mission我想找到嵌套对象中 prop的最小值。此行用于查找嵌套 prop 的最小值value并返回-2:const total = Object.values(yo).reduce((t, {value}) => Math.min(t, value), 0)但是当我对 prop 尝试同样的操作时mission,它会0在应该返回的时候返回3:const total = Object.values(yo).reduce((t, {mission}) => Math.min(t, mission), 0)我是否遗漏或做错了什么?
查看完整描述

2 回答

?
森林海

TA贡献2011条经验 获得超2个赞

在这种情况下,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));


查看完整回答
反对 回复 2023-08-24
?
弑天下

TA贡献1818条经验 获得超8个赞

0您将作为累加器 ie 的初始值传递t。0小于所有mission值。因此,您需要传递最大值 ieInfinity作为 的第二个参数reduce()。


const yo = {

  one: {

    value: 0,

    mission: 17},

  two: {

    value: 18,

    mission: 3},

  three: {

    value: -2,

    mission: 4},

}

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

console.log(total)


查看完整回答
反对 回复 2023-08-24
  • 2 回答
  • 0 关注
  • 130 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信