Rumah hujung hadapan web tutorial js Bagaimana cara menggabungkan objek array dengan ID yang sama mengikut jenis dan memperuntukkan jumlah menggunakan JavaScript?

Bagaimana cara menggabungkan objek array dengan ID yang sama mengikut jenis dan memperuntukkan jumlah menggunakan JavaScript?

Apr 04, 2025 pm 03:00 PM
red

Bagaimana cara menggabungkan objek array dengan ID yang sama mengikut jenis dan memperuntukkan jumlah menggunakan JavaScript?

Artikel ini menerangkan cara menggunakan JavaScript untuk memproses array, menggabungkan objek dengan ID yang sama ke dalam objek baru, dan memperuntukkan jumlah ke bidang yang berbeza mengikut jenis yang berbeza (sarapan, Cina, makan malam).

Katakan kita mempunyai pelbagai objek, masing -masing dengan medan id , jine (Amaun) dan type (Jenis). Matlamatnya adalah untuk menukar data ini ke dalam format lain, di mana data yang sepadan dengan setiap id digabungkan menjadi satu objek, dan nilai jine diberikan kepada jine1 (sarapan), jine2 (makanan Cina), dan jine3 (makan malam) medan mengikut type .

Data mentah:

 senarai const = [
    {id: "202301", Jine: 23, Jenis: "Makan Malam"},
    {id: "202301", Jine: 87.5, Jenis: "Sarapan"},
    {id: "202301", Jine: 1065.5, Jenis: "Makanan Cina"},
    {id: "202302", Jine: 10, Jenis: "Makan Malam"},
    {id: "202302", Jine: 181.5, Jenis: "Sarapan"},
    {id: "202302", Jine: 633.5, Jenis: "Makanan Cina"}
];
Salin selepas log masuk

Format Sasaran:

 const expectedList = [
    {id: "202301", jine1: 87.5, jine2: 1065.5, jine3: 23},
    {id: "202302", Jine1: 181.5, Jine2: 633.5, Jine3: 10}
];
Salin selepas log masuk

Untuk mencapai matlamat ini, kita boleh menggunakan kaedah reduce untuk melangkah ke atas array dan membuat objek baru untuk menyimpan hasilnya.

Penyelesaian:

 const result = object.values ​​(list.reduce ((acc, curr) => {
    jika (! acc [curr.id]) {
        acc [curr.id] = {id: curr.id, jine1: 0, jine2: 0, jine3: 0};
    }
    jika (curr.type === 'sarapan') acc [curr.id] .jine1 = curr.jine;
    jika (curr.type === 'makanan Cina') acc [curr.id] .jine2 = curr.jine;
    jika (curr.type === 'makan malam') acc [curr.id] .jine3 = curr.jine;
    kembali acc;
}, {}));

console.log (hasil); // array output dalam format sasaran
Salin selepas log masuk

Kod ini pertama menggunakan kaedah reduce untuk menukar array asal ke dalam objek, kunci adalah id , dan nilai adalah objek yang mengandungi jine1 , jine2 , dan jine3 . Kemudian gunakan kaedah Object.values ​​untuk menukar objek ke dalam array. Dalam kaedah reduce , kita periksa sama ada id semasa wujud dalam acc , jika ia tidak wujud, buat objek baru, dan berikan nilai jine ke medan yang sepadan mengikut type .

Kaedah ini mengelakkan penggunaan Object.groupBy dan find kaedah, meningkatkan kebolehbacaan dan kecekapan kod, dan mengendalikan penggabungan data dan peruntukan jumlah lebih langsung. Ia juga lebih mantap kerana tidak perlu menangani kes -kes di mana kaedah find boleh kembali undefined .

Atas ialah kandungan terperinci Bagaimana cara menggabungkan objek array dengan ID yang sama mengikut jenis dan memperuntukkan jumlah menggunakan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1655
14
Tutorial PHP
1253
29
Tutorial C#
1227
24
Cara Mengkonfigurasi Masa Pelaksanaan Skrip Lua di Centos Redis Cara Mengkonfigurasi Masa Pelaksanaan Skrip Lua di Centos Redis Apr 14, 2025 pm 02:12 PM

Pada sistem CentOS, anda boleh mengehadkan masa pelaksanaan skrip LUA dengan mengubah fail konfigurasi REDIS atau menggunakan arahan REDIS untuk mengelakkan skrip jahat daripada memakan terlalu banyak sumber. Kaedah 1: Ubah suai fail konfigurasi Redis dan cari fail konfigurasi Redis: Fail konfigurasi Redis biasanya terletak di /etc/redis/redis.conf. Edit Fail Konfigurasi: Buka fail konfigurasi menggunakan editor teks (seperti Vi atau nano): sudovi/etc/redis/redis.conf Tetapkan had masa pelaksanaan skrip lua: Tambah atau ubah suai baris berikut dalam fail konfigurasi untuk menetapkan masa pelaksanaan maksimum skrip lua (unit: milidor)

Langkah -langkah apa yang diperlukan untuk mengkonfigurasi CentOS dalam HDFS Langkah -langkah apa yang diperlukan untuk mengkonfigurasi CentOS dalam HDFS Apr 14, 2025 pm 06:42 PM

Membina Sistem Fail Teragih Hadoop (HDFS) pada sistem CentOS memerlukan pelbagai langkah. Artikel ini menyediakan panduan konfigurasi ringkas. 1. Sediakan untuk memasang JDK pada peringkat awal: Pasang JavadevelopmentKit (JDK) pada semua nod, dan versi mesti bersesuaian dengan Hadoop. Pakej pemasangan boleh dimuat turun dari laman web rasmi Oracle. Konfigurasi Pembolehubah Alam Sekitar: Edit /etc /Fail Profil, tetapkan pembolehubah persekitaran Java dan Hadoop, supaya sistem dapat mencari laluan pemasangan JDK dan Hadoop. 2. Konfigurasi Keselamatan: Log masuk tanpa kata laluan SSH untuk menjana kunci SSH: Gunakan perintah ssh-keygen pada setiap nod

Bagaimana Debian Meningkatkan Kelajuan Pemprosesan Data Hadoop Bagaimana Debian Meningkatkan Kelajuan Pemprosesan Data Hadoop Apr 13, 2025 am 11:54 AM

Artikel ini membincangkan cara meningkatkan kecekapan pemprosesan data Hadoop pada sistem Debian. Strategi pengoptimuman meliputi peningkatan perkakasan, pelarasan parameter sistem operasi, pengubahsuaian konfigurasi Hadoop, dan penggunaan algoritma dan alat yang cekap. 1. Pengukuhan sumber perkakasan memastikan bahawa semua nod mempunyai konfigurasi perkakasan yang konsisten, terutama memberi perhatian kepada prestasi CPU, memori dan peralatan rangkaian. Memilih komponen perkakasan berprestasi tinggi adalah penting untuk meningkatkan kelajuan pemprosesan keseluruhan. 2. Sistem operasi Tunes deskriptor fail dan sambungan rangkaian: Ubah suai fail /etc/security/limits.conf untuk meningkatkan had atas deskriptor fail dan sambungan rangkaian yang dibenarkan dibuka pada masa yang sama oleh sistem. Pelarasan Parameter JVM: Laraskan fail Hadoop-env.sh

Menggunakan DICR/YII2-Google untuk mengintegrasikan API Google di YII2 Menggunakan DICR/YII2-Google untuk mengintegrasikan API Google di YII2 Apr 18, 2025 am 11:54 AM

VProcesserAzrabotKiveB-disengajakan, мнепришосоаookaнноаяадачейтераце hadapan LeavallysumballanceFriablanceFaumdoptomification, čtookazalovnetakprosto, Kakaožidal.posenesko

Cara mengkonfigurasi log pertanyaan perlahan dalam centos redis Cara mengkonfigurasi log pertanyaan perlahan dalam centos redis Apr 14, 2025 pm 04:54 PM

Dayakan log pertanyaan perlahan Redis pada sistem CentOS untuk meningkatkan kecekapan diagnostik prestasi. Langkah -langkah berikut akan membimbing anda melalui konfigurasi: Langkah 1: Cari dan edit fail konfigurasi Redis terlebih dahulu, cari fail konfigurasi Redis, biasanya terletak di /etc/redis/redis.conf. Buka fail konfigurasi dengan arahan berikut: Sudovi/etc/redis/redis.conf Langkah 2: Laraskan parameter log pertanyaan yang perlahan dalam fail konfigurasi, cari dan ubah suai parameter berikut: #Slow query ambang (ms) lambat-log-lox-than10000 #

Bagaimana menggunakan penyelesaian cache Redis untuk merealisasikan keperluan senarai kedudukan produk dengan cekap? Bagaimana menggunakan penyelesaian cache Redis untuk merealisasikan keperluan senarai kedudukan produk dengan cekap? Apr 19, 2025 pm 11:36 PM

Bagaimanakah penyelesaian caching Redis menyedari keperluan senarai kedudukan produk? Semasa proses pembangunan, kita sering perlu menangani keperluan kedudukan, seperti memaparkan ...

Fail apa yang anda perlukan untuk mengubah suai dalam centos konfigurasi HDFS? Fail apa yang anda perlukan untuk mengubah suai dalam centos konfigurasi HDFS? Apr 14, 2025 pm 07:27 PM

Apabila mengkonfigurasi Hadoop diedarkan Sistem Fail (HDFS) pada CentOS, fail konfigurasi utama berikut perlu diubah suai: core-site.xml: fs.defaultfs: Menentukan alamat sistem fail lalai HDFS, seperti HDFS: // localhost: 9000. Hadoop.tmp.dir: Menentukan direktori penyimpanan untuk fail sementara Hadoop. hadoop.proxyuser.root.hosts dan hadoop.proxyuser.ro

Cara Menyelesaikan Kesalahan dalam Konfigurasi HDFS CentOS Cara Menyelesaikan Kesalahan dalam Konfigurasi HDFS CentOS Apr 14, 2025 pm 07:06 PM

Penyelesaian masalah kesilapan konfigurasi HDFS di bawah sistem CentOS Artikel ini bertujuan untuk membantu anda menyelesaikan masalah yang dihadapi ketika mengkonfigurasi HDFS dalam sistem CentOS. Sila ikuti langkah -langkah berikut untuk menyelesaikan masalah: Pengesahan persekitaran Java: Sahkan bahawa pembolehubah persekitaran Java_Home ditetapkan dengan betul. Tambah yang berikut dalam fail/etc/profil atau ~/.bashrc: exportjava_home =/path/to/your/javaexportpath = $ java_home/bin: $ pathexecute sumber/etc/profil atau sumber ~/.bashrc untuk membuat konfigurasi berkuatkuasa. Hadoop

See all articles