Bagaimana untuk Mencapai Fungsi Seperti Set dalam JavaScript?

Barbara Streisand
Lepaskan: 2024-10-28 06:56:30
asal
351 orang telah melayarinya

 How to Achieve Set-Like Functionality in JavaScript?

Meniru Set dalam JavaScript?

Soalan: Dalam JavaScript, adalah mungkin untuk mencipta struktur data yang meniru gelagat set, menyediakan kefungsian berikut:

  • Semak dengan cekap sama ada nilai berada dalam set.
  • Padamkan elemen dengan cepat jika wujud.
  • Tambah elemen dengan pantas jika tidak sudah ada.

Apakah pendekatan terbaik untuk mencapai fungsi seperti set ini? Adakah menggunakan objek, dengan kunci menyimpan sifat dan nilai semuanya ditetapkan kepada benar, penyelesaian yang munasabah?

Jawapan:

Dalam persekitaran ES6, anda boleh memanfaatkan objek Set terbina dalam, yang menyediakan semua keupayaan yang diingini.

Untuk ES5 dan Bawah:

Menggunakan Objek:

Mencipta objek dengan kekunci yang mewakili nilai dan nilai yang sentiasa ditetapkan kepada benar boleh berfungsi untuk tugas mudah, tetapi ia mempunyai had. Sebagai contoh, anda perlu menyemak kebenaran menggunakan if (obj[key]) dan bukannya if yang lebih ringkas (key in obj). Selain itu, pendekatan ini memaksa semua kunci kepada rentetan, menjadikannya bermasalah jika anda mempunyai kedua-dua kekunci berangka dan rentetan yang sepatutnya berfungsi dengan jelas.

Pertimbangkan penyelesaian berasaskan objek yang diubah suai ini yang menangani beberapa isu ini:

// create empty object
var obj = {};

// or create an object with some items already in it
var obj = { "1": true, "2": true, "3": true, "9": true };

// Question 1: Is A in the list?
if (Object.prototype.hasOwnProperty.call(obj, A))
    // put code here

// Question 2: Delete 'A' from the list if it's there
delete obj[A];

// Question 3: Add 'A' to the list if it's not already there
obj[A] = true;
Salin selepas log masuk

Objek Set Pra-Bina:

Jika anda lebih suka penyelesaian siap, anda boleh menggunakan objek set pra-bina seperti miniSet atau objek set yang lebih kaya dengan ciri . Ia menyediakan antara muka yang mudah untuk melaksanakan operasi set.

Polyfill Set ES6:

Untuk keserasian ES6, anda boleh menggunakan polyfill seperti polyfill Set ES6. Ini membolehkan anda menulis kod serasi ES6 yang akan berfungsi dalam persekitaran kembali ke IE7, tetapi ia tidak menangkap sepenuhnya kemudahan penggunaan objek Set ES6 asli.

Atas ialah kandungan terperinci Bagaimana untuk Mencapai Fungsi Seperti Set 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!