Rumah  >  Artikel  >  hujung hadapan web  >  Adakah Tatasusunan atau Objek Lebih Cekap untuk Mengambil Objek mengikut ID dalam JavaScript?

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

Patricia Arquette
Patricia Arquetteasal
2024-10-26 07:50:30782semak imbas

 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];
    }
  }
}

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];
}

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!

Kenyataan:
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