Tatasusunan lwn. Objek dalam JavaScript: Manakah Lebih Cepat untuk Mendapatkan Semula Objek Tunggal dengan ID Berangka Panjang?

Mary-Kate Olsen
Lepaskan: 2024-10-27 11:43:30
asal
954 orang telah melayarinya

  Arrays vs. Objects in JavaScript: Which is Faster for Retrieving a Single Object with a Long Numerical ID?

Kecekapan Tatasusunan vs. Objek dalam JavaScript: Mendapatkan Semula Objek Tunggal dengan ID Berangka Panjang

Pernyataan Masalah:

Apabila menyimpan sebilangan besar objek dengan cekap dan perlu mendapatkannya dengan ID berangka yang unik dan panjang, adalah penting untuk menentukan struktur data terbaik: tatasusunan atau objek.

Pilihan Tatasusunan:

<code class="javascript">var a = [{id: 29938, name: 'name1'},
         {id: 32994, name: 'name1'}];</code>
Salin selepas log masuk

Untuk mencari objek dalam tatasusunan, carian linear diperlukan:

<code class="javascript">function getObject(id) {
    for (var i=0; i < a.length; i++) {
        if (a[i].id == id)
            return a[i];
    }
}</code>
Salin selepas log masuk

Pilihan Objek:

<code class="javascript">var a = {};
a[29938] = {id: 29938, name: 'name1'};
a[32994] = {id: 32994, name: 'name1'};</code>
Salin selepas log masuk

Dengan objek, pengambilan adalah terus berdasarkan ID yang digunakan sebagai kunci:

<code class="javascript">function getObject(id) {
    return a[id];
}</code>
Salin selepas log masuk

Analisis:

Secara amnya, tatasusunan adalah lebih pantas sedikit daripada objek untuk mendapatkan semula elemen individu, terutamanya dengan tatasusunan yang besar. Ini kerana objek mempunyai pasangan nilai kunci, yang memerlukan overhed carian tambahan berbanding dengan pengindeksan mudah tatasusunan.

Keputusan Ujian Prestasi (2017):

Satu prestasi ujian yang dijalankan pada 2017 mendedahkan bahawa tatasusunan adalah lebih pantas daripada tatasusunan berlubang dan objek untuk mendapatkan semula objek tunggal.

Isih:

Prestasi pengisihan bergantung pada algoritma pengisihan yang digunakan dan bilangan elemen. Walaupun tatasusunan boleh diisih dengan lebih cekap daripada objek menggunakan kaedah terbina dalam seperti Array.sort(), perbezaannya mungkin tidak ketara untuk set data yang lebih kecil.

Kesimpulan:

Jika operasi utama mendapatkan semula objek tunggal berdasarkan IDnya, tatasusunan secara amnya lebih cekap daripada objek, terutamanya untuk sejumlah besar objek. Walau bagaimanapun, jika pengisihan adalah keperluan yang kerap, pilihan struktur data mungkin memerlukan ujian dan pertimbangan lanjut.

Atas ialah kandungan terperinci Tatasusunan lwn. Objek dalam JavaScript: Manakah Lebih Cepat untuk Mendapatkan Semula Objek Tunggal dengan ID Berangka Panjang?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!