let array = this.props.data.allGoogleSheetSpacesRow.edges;
const results = [...array.reduce((r, e) => {
let k = `${e.node.twitter}`;
if(!r.has(k)) r.set(k, {...e, count: 1})
else r.get(k).count++
return r;
}, new Map)]
Я использую Reduce, чтобы получить количество повторяющихся имен пользователей Twitter в моем массиве для создания таблицы лидеров, например:
- Имя пользователя Twitter: 5
- Имя пользователя Twitter: 4
- Twitter Имя пользователя: 2
let leaderboard = results;
console.log(leaderboard);
return (
{leaderboard.map((item, index) => (
<div key={index}>
{item.value.map((c, i) => (
<div key={i}>
<h3>{c.count}</h3>
<h3>{c.node.twitter}</h3>
<hr />
</div>
))}
</div>
))}
)
Я пытаюсь отобразить карту, чтобы отобразить данные, но не знаю, как это сделать.Я получаю Cannot read property 'map' of undefined
.Что я делаю не так?
Вот разбивка map
:
Так что дерево, похоже, идет массив -> массив-> object , но я не уверен, что мне нужно сделать, чтобы сделать это.