javascript – 使用对象内的对象过滤数组

我有一个使用嵌套对象过滤数组的问题.

[{
    "firstName": "Kevin",
    "lastName": "Smith",
    "expenses": {
      "drink1": 25,
      "drink2": 20
    }
  },
  {
    "firstName": "John",
    "lastName": "Rambo",
    "expenses": {
      "coffe": 10,
      "cake": 20
    }
  }
]

我想得到所有费用总和的对象> 35.如何获得内部费用?或者过滤器在这里可能不是一个合适的方法.

最佳答案
只需过滤它,使用减少的条件来计算费用!挺直的:)

const input = [{
    "firstName": "Kevin",
    "lastName": "Smith",
    "expenses": {
      "drink1": 26,
      "drink2": 20
    }
  },
  {
    "firstName": "John",
    "lastName": "Rambo",
    "expenses": {
      "coffe": 10,
      "cake": 20
    }
  }
];

const output = input.filter(user => Object.values(user.expenses).reduce((acc, expense) => acc + expense) > 45);
console.log(output);

转载注明原文:javascript – 使用对象内的对象过滤数组 - 代码日志