面试题答案
一键面试最终聚合结果的格式
{
"electronics": 1500,
"clothes": 130
}
Reduce函数实现的关键步骤
- 初始化聚合对象:在Reduce函数开始时,创建一个空对象用于存储每个类别的价格总和。
- 遍历文档数据:对于给定的文档数据结构,遍历每个文档。
- 处理每个文档:
- 对于每个文档,获取其
category
。 - 遍历该文档中的
products
数组,累加每个产品的price
到对应category
的总和中。
- 对于每个文档,获取其
- 返回聚合结果:最后返回包含每个类别价格总和的对象。
以下是JavaScript实现的Reduce函数示例:
function reduceFunction(data) {
let result = {};
data.forEach(doc => {
let category = doc.category;
doc.products.forEach(product => {
if (!result[category]) {
result[category] = 0;
}
result[category] += product.price;
});
});
return result;
}