Ich habe ein Array mit doppelten Werten, die ich von der API erhalte. Der folgende Code verwendet die ...new Set()-Methode, um alle Math-Anmerkungen ohne doppelte zu erhalten: < /p>
let notes = []; if (props.getAllNotes()) { const maths = props.getAllNotes().map(item => { return item.subjects[0].math_note }); notes = [...new Set(maths)]; }
Das habe ich in props.getAllNotes():
notes = [15,16,10,13,15,16,10,18,11,13,15,16,10,18,11];
Das habe ich bekommen:
notes = [15,16,10,13,18,11];
Ich möchte die Anzahl jeder Note im endgültigen Array Notizen hinzufügen, etwa:
notes = [{10: 3}, {15: 5}...]
Die Annotationsmethode erledigt dies im Objekt und ich muss dies im endgültigen Array Notizen tun, wo ich die Methode ...new Set() verwende, weil ich durch sie eine Zuordnung durchführe, um einige Daten darzustellen
const counts = stars.reduce((acc, value) => ({ ...acc, [value]: (acc[value] || 0) + 1 }), {});
创建包含每个数字的频率的对象后,您可以对其条目进行
map
来创建所需的对象数组。