javascript - 如何从 forEach 减少数组
问题描述
我有一系列汽车,每辆汽车都是一个对象,例如:
{
year: 2006,
brand: 'Audi',
model: 'A4',
color: 'black'
}
我需要将它们组织成一个对象,其中我将拥有品牌的钥匙,并且每个品牌都会有一系列汽车(单个品牌有多个汽车,我不知道我有多少个品牌,我可以' t 对它们进行硬编码)。
所以结果应该是:
const carsObj = {
Audi: [.....],
BMW: [.....],
Toyota: [.....],
...
}
这些子阵列中的每一个都应包含同一品牌的所有汽车。我是这样做的:
const carsObj = {};
cars.forEach(car => {
if (!carsObj[car.brand]) carsObj[car.brand] = [];
carsObj[car.brand].push(car);
});
所以首先我检查是否没有该品牌的钥匙,我用空数组创建钥匙,然后将整个汽车对象推入其中。
如何使用reduce数组方法做同样的事情?
解决方案
推荐阅读
- azure - SQL Azure Serverless 配置问题
- r - 更改 tbl_regression/tbl_uvregression 和 tbl_summary 中的默认变量值显示?#gtsummary
- elasticsearch - 如何在elasticsearch中做两个嵌套对象聚合?
- excel - 模糊字符串匹配 Excel
- scala - 从细化中获取正在细化的类
- ios - 在单击事件后更改 UiButton ImageView.alpha 中,如何保留以前的 alpha?
- kubernetes - 如何在 kubernetes 中调试与 istio 的 mTLS 通信?
- c# - 获取点后有多少个十进制数字
- python - 没有这样的文件或目录:'gdal-config'
- java - rabbitMQ - rabbitmq 面板中的消息计数