Adakah Tatasusunan atau Objek Lebih Cekap untuk Mengambil Objek mengikut ID dalam JavaScript?

Patricia Arquette
Lepaskan: 2024-10-26 07:50:30
asal
781 orang telah melayarinya

 Is an Array or an Object More Efficient for Retrieving Objects by ID in JavaScript?

Kecekapan Array vs. Objek dalam JavaScript: Analisis Komprehensif

Apabila bekerja dengan set data yang besar dalam JavaScript, adalah penting untuk mempertimbangkan kecekapan kaedah penyimpanan dan mendapatkan semula data. Artikel ini menyelidiki topik kecekapan tatasusunan lwn. objek, menangani senario tertentu di mana pengambilan semula melalui ID merupakan kebimbangan utama.

Atur Susunan lwn. Objek: Memahami Perbezaan

Walaupun persepsi biasa, JavaScript tidak menawarkan tatasusunan bersekutu. Sebaliknya, tatasusunan dan objek memenuhi peranan yang berbeza:

Susunatur:

  • Adalah koleksi nilai tersusun, boleh diakses melalui indeks berangka.
  • Adalah direka untuk menyimpan jujukan data tersusun.

Objek:

  • Adalah koleksi tidak tertib pasangan nilai kunci.
  • Adalah sesuai untuk mewakili data berstruktur sebagai sifat dan nilai.

Pilihan Penyimpanan: Meneroka Pendekatan Tatasusunan dan Objek

Untuk menyimpan dan mendapatkan semula objek individu dengan cekap, dua pilihan utama timbul :

Pilihan 1: Tatasusunan dengan Indeks Bukan Bersekutu

Objek disimpan dalam tatasusunan dengan indeks berangka yang bertambah.

let array = [{ id: 29938, name: 'name1' }, { id: 32994, name: 'name1' }];
function getObject(id) {
  for (let i = 0; i < array.length; i++) {
    if (array[i].id === id) {
      return array[i];
    }
  }
}
Salin selepas log masuk

Pilihan 2: Objek dengan Pasangan Nilai Kunci

Objek disimpan dalam objek menggunakan ID mereka sebagai kunci.

let obj = {};
obj[29938] = { id: 29938, name: 'name1' };
obj[32994] = { id: 32994, name: 'name1' };
function getObject(id) {
  return obj[id];
}
Salin selepas log masuk

Analisis Prestasi: Menanda Aras Pilihan

Untuk menilai kecekapan, kami menjalankan ujian prestasi yang melibatkan perkara berikut:

  • ID objek yang dijana secara rawak antara 10,000 hingga 60,000.
  • Penciptaan tatasusunan dengan indeks tidak bersekutu, tatasusunan berlubang dan objek dengan pasangan nilai kunci.
  • Berbilang lelaran pengambilan objek mengikut ID.

Keputusan Ujian:Operasi pengisihan akan mengubah keseimbangan kecekapan, tetapi trend umum tatasusunan yang lebih pantas kekal.

  • Kesimpulan
  • Berdasarkan ujian prestasi, tatasusunan muncul sebagai pilihan yang lebih cekap untuk menyimpan dan mendapatkan semula objek individu melalui ID, terutamanya dalam senario di mana operasi mendapatkan semula adalah berleluasa. Objek, sebaliknya, menawarkan kelebihan dalam perwakilan data di mana sifat dan nilai lebih sesuai untuk sifat objek yang tidak teratur.

Atas ialah kandungan terperinci Adakah Tatasusunan atau Objek Lebih Cekap untuk Mengambil Objek mengikut ID 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
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!