Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Menghimpunkan Item Array mengikut Sifat Objek dalam JavaScript?

Bagaimana untuk Menghimpunkan Item Array mengikut Sifat Objek dalam JavaScript?

DDD
Lepaskan: 2024-12-31 01:53:12
asal
835 orang telah melayarinya

How to Group Array Items by Object Properties in JavaScript?

Kumpulkan Item Tatasusunan mengikut Sifat Objek

Dalam senario anda, anda ingin menyatukan tatasusunan yang mengandungi objek dengan sifat kumpulan biasa ke dalam tatasusunan baharu . Setiap kumpulan harus mempunyai tatasusunan warna yang unik.

Untuk mencapai ini menggunakan JavaScript:

  1. Buat Pemetaan Nama Kumpulan kepada Nilai:
    Buat objek kosong, kumpulan_kepada_nilai. Kemudian, melintasi tatasusunan input, myArray, menggunakan kaedah pengurangan.
  • Untuk setiap objek dalam myArray, semak sifat kumpulan.
  • Simpan harta kumpulan sebagai masukkan kumpulan_kepada_nilai.
  • Buat tatasusunan pada kunci itu jika ia tidak wujud.
  • Tekan sifat warna objek ke dalam tatasusunan pada kekunci kumpulan yang sepadan.
var group_to_values = myArray.reduce(function (obj, item) {
    obj[item.group] = obj[item.group] || [];
    obj[item.group].push(item.color);
    return obj;
}, {});
Salin selepas log masuk
  1. Ubah ke dalam Format Diingini:
    Tukar objek group_to_values ​​ke dalam format tatasusunan yang dikehendaki. Gunakan Object.keys() untuk mendapatkan nama kumpulan dan mengubahnya menjadi objek.
var groups = Object.keys(group_to_values).map(function (key) {
    return {group: key, color: group_to_values[key]};
});
Salin selepas log masuk

Hasilnya, kumpulan, akan menjadi tatasusunan objek, setiap satu mewakili kumpulan, dengan tatasusunan warna mengandungi semua warna unik untuk kumpulan itu.

Atas ialah kandungan terperinci Bagaimana untuk Menghimpunkan Item Array mengikut Sifat Objek dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan