javascript - 如何计算数组中同名对象的数量?
问题描述
我有这个数组并试图获取具有相同name
属性的对象的计数。我怎样才能做到这一点?也许以现代“es6”方式
let cars = [
{id: 1, name: 'Mercedes', year: '2015'},
{id: 2, name: 'Mercedes', year: '2000'},
{id: 3, name: 'BMW', year: '2010'},
{id: 4, name: 'BMW', year: '2004'},
{id: 5, name: 'Volvo', year: '2012'},
{id: 6, name: 'Volvo', year: '2014'}
];
解决方案
let counterObj = {}
let cars = [
{id: 1, name: 'Mercedes', year: '2015'},
{id: 2, name: 'Mercedes', year: '2000'},
{id: 3, name: 'BMW', year: '2010'},
{id: 4, name: 'BMW', year: '2004'},
{id: 5, name: 'Volvo', year: '2012'},
{id: 6, name: 'Volvo', year: '2014'}
];
for (property of cars){
counterObj[property.name] = 1 + (counterObj[property.name] || 0)
}
console.log(counterObj)
这应该可以解决问题!
推荐阅读
- python - 如何在 python win32api 上获取全局滚动事件
- php - 如何修复 WordPress 中的 MySQL 服务器已消失错误。并且错误建立了数据库连接
- javascript - 无论我尝试什么,我的不和谐机器人自然会阻止 DM 选项
- javascript - 如何使输入框只接受浮动输入
- flutter - 颤振:'google_sign_in' pub 构建失败#import
- java - Java RegExp '?' 的行为 和'+'
- macos - 如何在 macOS 上运行虚拟键盘(Catalina / Big Sur)
- php - 使用 Laravel 批量上传和添加文件到数据库
- php - 如何用 Gettext 正确包装它?
- windows-subsystem-for-linux - Elm 安装总是因“ConnectionTimeout”错误而失败(在 WSL 中)