Fügen Sie gezählte doppelte Werte im gefilterten Array hinzu, indem Sie ...new Set verwenden
P粉186897465
P粉186897465 2024-04-04 19:03:41
0
1
462

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
}), {});

P粉186897465
P粉186897465

Antworte allen(1)
P粉770375450

创建包含每个数字的频率的对象后,您可以对其条目进行 map 来创建所需的对象数组。

let arr = [15,16,10,13,15,16,10,18,11,13,15,16,10,18,11];
let res = Object.entries(arr.reduce((acc, n) => {
  acc[n] = (acc[n] || 0) + 1;
  return acc;
}, {})).map(([k, v]) => ({[k]: v}));
console.log(res);
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage