// 用于存储最终结果的对象
let finalData = {};
// 遍历 allData 数组
allData.forEach((item) => {
const { sales_code, next_month_prediction_quantity, ...rest } = item;
// 如果 finalData 中已存在当前销售码的数据,则进行合并操作
if (finalData[sales_code]) {
finalData[sales_code].next_month_prediction_quantity += parseFloat(next_month_prediction_quantity);
} else {
// 如果 finalData 中不存在当前销售码的数据,则将当前数据添加到 finalData 中
finalData[sales_code] = { ...rest, next_month_prediction_quantity: parseFloat(next_month_prediction_quantity) };
}
});
console.log(finalData); // 这里输出 finalData 对象,其中包含了合并后的结果
===>const { sales_code, next_month_prediction_quantity, …rest } = item;
代码使用了解构赋值语法。它的作用是从对象 item
中提取属性 sales_code
和 next_month_prediction_quantity
的值,并将剩余的属性以及对应的值收集到名为 rest
的对象中。
具体来说:
sales_code
变量存储了对象item
中sales_code
属性的值。next_month_prediction_quantity
变量存储了对象item
中next_month_prediction_quantity
属性的值。rest
对象包含了除sales_code
和next_month_prediction_quantity
外的所有属性及其对应的值。
这种方法让你可以轻松获取指定属性的值,并使用 rest
对象来存储其他属性的值,使得代码更为简洁清晰。