我有一个看起来像这样的对象: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));
弑天下
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)
添加回答
举报
0/150
提交
取消