Ajoutez les valeurs en double comptées dans le tableau filtré en utilisant ...new Set
P粉186897465
P粉186897465 2024-04-04 19:03:41
0
1
422

J'ai un tableau avec des valeurs en double que je reçois de l'API, le code suivant utilise la méthode ...new Set() pour obtenir toutes les annotations de Math sans celles en double : < /p>

let notes = [];
if (props.getAllNotes()) {
    const maths = props.getAllNotes().map(item => {
        return item.subjects[0].math_note
    });
    notes = [...new Set(maths)];
}

Voici ce que j'ai dans props.getAllNotes() :

notes = [15,16,10,13,15,16,10,18,11,13,15,16,10,18,11];

Voici ce que j'ai obtenu :

notes = [15,16,10,13,18,11];

Je souhaite ajouter le nombre de chaque note dans le tableau final notes comme :

notes = [{10: 3}, {15: 5}...]

La méthode d'annotation fait cela dans l'objet et je dois le faire dans le tableau final notes où j'utilise la méthode ...new Set() car je mappe à travers celui-ci pour présenter des données

const counts = stars.reduce((acc, value) => ({
    ...acc,
    [value]: (acc[value] || 0) + 1
}), {});

P粉186897465
P粉186897465

répondre à tous(1)
P粉770375450

Après avoir créé l'objet contenant la fréquence de chaque nombre, vous pouvez map ses entrées pour créer le tableau d'objets souhaité.

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);
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal