Мне нужно составить таблицу, в которой указано имя человека, сколько раз его имя повторяется в массиве и сколько раз каждый из «цветов» также повторяется с этим определенным именем.
Это массив для таблицы:
var firstArray = [{
"Name": "John Doe",
"Green": "Yes",
"Pink": "Yes",
"Yellow": "No"
},
{
"Name": "John Doe",
"Green": "Yes",
"Pink": "No",
"Yellow": "No"
},
{
"Name": "Mary",
"Green": "No",
"Pink": "No",
"Yellow": "No"
},
{
"Name": "Mary",
"Green": "No",
"Pink": "Yes",
"Yellow": "No"
},
{
"Name": "Mike",
"Green": "Yes",
"Pink": "Yes",
"Yellow": "Yes"
},
{
"Name": "Mike",
"Green": "No",
"Pink": "No",
"Yellow": "No"
},
{
"Name": "Mary",
"Green": "Yes",
"Pink": "Yes",
"Yellow": "Yes"
}
]
И вот как мне нужно отобразить таблицу: ![enter image description here](https://i.stack.imgur.com/hM3H9.png)
Я неНе знаю имен, которые будут вводить люди. Они могут вводить одно и то же имя столько раз, сколько хотят, или совершенно другое.
Я добавил этот код для подсчета количества повторений каждого имени:
var namesArray = [];
firstArray.forEach(function(e) {
namesArray.push(e.Name);
});
var countNames = namesArray.reduce(function(obj, b) {
obj[b] = ++obj[b] || 1;
return obj;
}, {});
console.log(countNames);
Но после этогошаг Я совершенно не знаю, как составить таблицу, также не знаю, как сложить все зеленые, розовые и желтые для каждого Имени.
Есть ли у кого-нибудь лучший подход? Пожалуйста, помогите