cari

Rumah  >  Soal Jawab  >  teks badan

Tambahkan nilai pendua yang dikira dalam tatasusunan ditapis menggunakan ...Set baharu

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粉186897465P粉186897465234 hari yang lalu419

membalas semua(1)saya akan balas

  • P粉770375450

    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);

    balas
    0
  • Batalbalas