万千封印
因此,假设您有变量名为 salesReport 的数据,如下所示:{ "sales": { "totals": { "2015-01-18": { "sales": "-17.00", }, "2015-01-21": { "sales": "597.10", }, "2015-02-18": { "sales": "32.00", }, "2015-03-12": { "sales": "22.00", }, }, }}然后,您希望访问每个日期的 sales.totals 数据,而无需知道关键详细信息。此外,如果您需要存储密钥(在本例中为日期)及其各自的值,那么您可以首先使用Object.entries将它们转换为条目,如以下代码所示:const salesReportTotalsEntries = Object.entries(salesReport.sales.totals);然后您可以使用以下命令访问每个日期的销售数据salesReportTotalsEntries[0][1].salessalesReportTotalsEntries[1][1].sales最后一步是,您可以使用Array.reduce根据每个月的数据对每个总销售数据进行求和。这是完整的代码:const salesReport = { "sales": { "totals": { "2015-01-18": { "sales": "-17.00", }, "2015-01-21": { "sales": "597.10", }, "2015-02-18": { "sales": "32.00", }, "2015-03-12": { "sales": "22.00", }, }, }};const salesReportTotalsEntries = Object.entries(salesReport.sales.totals);const salesReportTotalsByMonths = salesReportTotalsEntries.reduce((a, v) => { const currentMonth = v[0].split('-')[1]; if (!a[currentMonth]) { a[currentMonth] = Number(v[1].sales); return a; } a[currentMonth] += Number(v[1].sales); return a;}, {});console.log(`Total Sales Report in January is ${salesReportTotalsByMonths['01']}`);console.log(`Total Sales Report in February is ${salesReportTotalsByMonths['02']}`);