Maison > Questions et réponses > le corps du texte
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粉7703754502024-04-05 17:54:48
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);