


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"} ];
Format Sasaran:
const expectedList = [ {id: "202301", jine1: 87.5, jine2: 1065.5, jine3: 23}, {id: "202302", Jine1: 181.5, Jine2: 633.5, Jine3: 10} ];
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
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











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)

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

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

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

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 #

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

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

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
