Rumah > Artikel > hujung hadapan web > Bagaimana untuk Melaksanakan Hashmap dalam JavaScript dengan Cekap?
Pengenalan
JavaScript tidak menyediakan struktur data peta cincang terbina dalam. Walau bagaimanapun, adalah mungkin untuk mencapai kefungsian yang serupa melalui kaedah alternatif. Artikel ini meneroka pelaksanaan yang cekap bagi peta cincang JavaScript.
Objek Pencirian Secara Manual
Seperti yang dijelaskan dalam soalan, hanya menggunakan var hash = {} tidak memberikan kebenaran pencincangan. Sebaliknya, fungsi cincang tersuai boleh ditakrifkan untuk mencipta kunci unik untuk objek. Fungsi cincang ini harus mengembalikan rentetan yang mewakili objek secara unik.
Sebagai contoh, jika objek pelanggan mempunyai sifat ID yang unik, anda boleh menggunakan fungsi cincang berikut:
var key = function(obj) { return obj.id; };
Menggunakan Objek Terbina dalam JavaScript
Objek JavaScript menyediakan jadual cincang dengan carian yang cekap berdasarkan kekunci rentetan. Dengan menggunakan fungsi cincang untuk menjana kunci rentetan yang unik, objek boleh disimpan dalam objek terbina dalam sebagai entri peta cincang.
var dict = {}; dict[key(obj1)] = obj1; dict[key(obj2)] = obj2;
Kelebihan
Pendekatan ini menawarkan beberapa kelebihan:
Pertimbangan Keunikan
Untuk memastikan keunikan kunci, pertimbangkan strategi berikut:
Alternatif untuk Kunci Unik
Untuk kes di mana tidak mungkin untuk mencipta kunci rentetan yang unik, ECMAScript 6 memperkenalkan struktur data Peta dan Tetapkan. Struktur ini membenarkan nilai arbitrari sebagai kunci, termasuk objek, menjadikannya sesuai untuk mencirikan objek secara langsung.
Kesimpulan
Dengan menggunakan objek terbina dalam JavaScript dan mentakrifkan cincang tersuai fungsi, adalah mungkin untuk melaksanakan peta cincang yang cekap dalam JavaScript. Pendekatan ini memberikan faedah pencarian kunci pantas, penyesuaian dan keserasian dengan objek JavaScript sedia ada.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Hashmap dalam JavaScript dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!