获取唯一键值计数作为对象

Aka*_*wal 1 javascript typescript angular

我从服务器得到以下响应:

在此输入图像描述

我想获得具有出现次数的唯一键.采用以下格式:

0:{"name":"physics 1","count":2}
1:{"name":"chem 1","count":6}
Run Code Online (Sandbox Code Playgroud)

我已经检查了如何计算数组中每个项目的出现次数?但那不是我想要的.

Sha*_*ard 5

这是一个es6解决方案.

const data = [{
    id: 0,
    name: 'physics 1',
    questionId: 1,
    questionNr: 1
}, {
    name: 'physics 1',
}, {
    name: 'chem 1',
}, {
    name: 'chem 1',
}, {
    name: 'chem 2',
}];

const grouped = data.reduce((groups, cur) => {
    const key = cur.name;

    groups[key] = (groups[key] || 0) + 1;

    return groups;
}, {});

const result = Object.keys(grouped).map(key => ({name: key, count: grouped[key]}));

console.log(result);
Run Code Online (Sandbox Code Playgroud)