Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Menghimpunkan Objek dalam Tatasusunan JavaScript dengan Kunci Dikongsi?

Bagaimanakah Saya Boleh Menghimpunkan Objek dalam Tatasusunan JavaScript dengan Kunci Dikongsi?

Barbara Streisand
Lepaskan: 2024-12-26 16:40:10
asal
701 orang telah melayarinya

How Can I Group Objects in a JavaScript Array by a Shared Key?

Mengumpulkan Objek dalam Tatasusunan mengikut Kekunci

Dalam pengaturcaraan, selalunya perlu untuk mengumpulkan objek dalam tatasusunan berdasarkan kunci yang dikongsi. Pertimbangkan tatasusunan objek kereta berikut sebagai contoh:

const cars = [
    {
        'make': 'audi',
        'model': 'r8',
        'year': '2012'
    },
    {
        'make': 'audi',
        'model': 'rs5',
        'year': '2013'
    },
    {
        'make': 'ford',
        'model': 'mustang',
        'year': '2012'
    },
    {
        'make': 'ford',
        'model': 'fusion',
        'year': '2015'
    },
    {
        'make': 'kia',
        'model': 'optima',
        'year': '2012'
    },
];
Salin selepas log masuk

Matlamatnya ialah untuk mencipta tatasusunan baharu di mana objek kereta dikumpulkan mengikut jenama. Menggunakan JavaScript vanila, satu pendekatan ialah menggunakan kaedah Array#reduce bersama-sama dengan objek:

const result = cars.reduce((r, a) => {
    r[a.make] = r[a.make] || [];
    r[a.make].push(a);
    return r;
}, Object.create(null));

console.log(result);
Salin selepas log masuk

Kod ini berulang melalui tatasusunan kereta dan menyemak sama ada make semasa wujud sebagai kunci dalam objek hasil. Jika tidak, ia menambah make sebagai kunci dan memulakan tatasusunan kosong. Ia kemudian menolak objek kereta semasa ke dalam tatasusunan yang sepadan, mengumpulkan objek secara berkesan mengikut pembuatannya.

Objek hasil yang terhasil akan distrukturkan seperti berikut:

{
    'audi': [
        {
            'model': 'r8',
            'year': '2012'
        },
        {
            'model': 'rs5',
            'year': '2013'
        },
    ],

    'ford': [
        {
            'model': 'mustang',
            'year': '2012'
        },
        {
            'model': 'fusion',
            'year': '2015'
        }
    ],

    'kia': [
        {
            'model': 'optima',
            'year': '2012'
        }
    ]
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghimpunkan Objek dalam Tatasusunan JavaScript dengan Kunci Dikongsi?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan