我有一个对象,我在 React 组件中映射来渲染一些东西。数组中的每个项目内部都有另一个数组payroll_run_items
。我想amount
在我的 map 方法中获取该子数组中所有项目的总和。这在地图中是否可能(例如在地图中创建地图)?我只能通过在 map 方法之外预先循环和计算值来实现它。
payrollRuns 对象:
(23) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
0:
amount: "0.00"
company: {id: 1, name: 'Example Ltd.', country: 'Germany', city: 'Munich', zip: '80801', …}
line_items: 0
month: {id: 55, period: '2024-03-01'}
payroll_run_items: Array(4)
0: {id: 338, amount: '3780.00', offer: {…}, month: {…}, payroll_run: {…}}
1: {id: 361, amount: '4428.28', offer: {…}, month: {…}, payroll_run: {…}}
2: {id: 384, amount: '3780.00', offer: {…}, month: {…}, payroll_run: {…}}
3: {id: 407, amount: '3780.00', offer: {…}, month: {…}, payroll_run: {…}}
const PayrollRuns = (props) => {
const runItems = props.payrollRuns.map((run) =>
<div key={run.id} className="flex p-4 text-lg">
..
<div>{sum of all amounts of payroll_run_items array..}</div>
</div>
);
return (
<div className="runs-wrapper bg-white rounded-xl h-full w-48 shadow-sx-shadow p-4 flex flex-col">
<h1 className="border-b-2 pb-4">Payroll Runs</h1>
<div className="grow overflow-auto">{runItems}</div>
</div>
)
}
export default PayrollRuns
是的,你需要使用reduce:
const runItems = props.payrollRuns.map((run) =>
<div key={run.id} className="flex p-4 text-lg">
..
<div>{run.payroll_run_items.reduce((acc, value) => {
return acc.amount + value.amount;
})}</div>
</div>
);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句