Rumah > Soal Jawab > teks badan
Saya mempunyai tatasusunan dengan nilai pendua yang saya dapat daripada API, kod berikut menggunakan ...kaedah Set() baharu untuk mendapatkan semua anotasi Math tanpa pendua: < /p>
let notes = []; if (props.getAllNotes()) { const maths = props.getAllNotes().map(item => { return item.subjects[0].math_note }); notes = [...new Set(maths)]; }
Ini yang saya ada dalam props.getAllNotes():
notes = [15,16,10,13,15,16,10,18,11,13,15,16,10,18,11];
Ini yang saya dapat:
notes = [15,16,10,13,18,11];
Saya ingin menambah kiraan setiap nota dalam tatasusunan akhir nota seperti:
notes = [{10: 3}, {15: 5}...]
Kaedah anotasi melakukan ini dalam objek dan saya perlu melakukan ini ke tatasusunan terakhir nota di mana saya menggunakan kaedah ...new Set() kerana saya sedang memetakan melaluinya untuk membentangkan beberapa data
const counts = stars.reduce((acc, value) => ({ ...acc, [value]: (acc[value] || 0) + 1 }), {});
P粉7703754502024-04-05 17:54:48
Selepas mencipta objek yang mengandungi kekerapan setiap nombor, anda boleh map
entrinya untuk mencipta tatasusunan objek yang dikehendaki.
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);