„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie können Sie Set-Funktionalitäten in JavaScript ohne integrierte Unterstützung implementieren?

Wie können Sie Set-Funktionalitäten in JavaScript ohne integrierte Unterstützung implementieren?

Veröffentlicht am 09.11.2024
Durchsuche:521

How Can You Implement Set Functionality in JavaScript Without Built-in Support?

Nachahmen von Mengen in JavaScript

JavaScript bietet kein integriertes Set-Objekt, aber Entwickler benötigen oft die Möglichkeit, eindeutige, ungeordnete Werte mit schneller Suche zu speichern, Hinzufügungs- und Löschfunktionen.

Verwenden eines Objekts mit booleschen Werten:
Wie vorgeschlagen In der Frage kann ein Objekt verwendet werden, um eine Menge nachzuahmen. Schlüssel stellen die Werte dar und alle Werte werden auf „true“ (oder einen beliebigen Wert ungleich Null) gesetzt. Dieser Ansatz ermöglicht ein schnelles Suchen und Löschen, das Hinzufügen wird jedoch langsamer, wenn die Anzahl der Schlüssel zunimmt.

ES6-Objekt festlegen:
Wenn Ihre Umgebung ES6 unterstützt (z. B. moderne Browser oder transpilierte Code) können Sie das integrierte Set-Objekt verwenden. Es bietet eine hervorragende Leistung für alle Mengenoperationen und ermöglicht darüber hinaus eine einfache Iteration über Elemente und die Vermeidung von String-Zwang.

Polyfills und vorgefertigte Objekte:
Für Umgebungen, die dies nicht unterstützen ES6 können Sie Polyfills wie „ES6-Set“ oder vorgefertigte Objekte wie „miniSet“ oder „set.js“ verwenden, die ähnliche Funktionen wie das ES6-Set-Objekt bieten. Diese bieten Vorteile wie Kompatibilität mit älteren Browsern oder einen geringeren Code-Footprint.

Implementierungsdetails:

Verwenden eines Objekts:

const setObj = {};
setObj["item1"] = true;
if ("item1" in setObj) { // fast lookup
  console.log("Item found");
}
delete setObj["item1"]; // fast deletion

Verwenden des ES6-Set-Objekts:

const set = new Set();
set.add("item1");
if (set.has("item1")) { // fast lookup
  console.log("Item found");
}
set.delete("item1"); // fast deletion

Verwenden einer Polyfüllung:

import Set from "es6-set";
const set = new Set(["item1", "item2"]);
console.log(...set.keys()); // easy iteration

Verwenden eines vorgefertigten Objekts:

const miniSet = new MiniSet("item1", "item2");
if (miniSet.has("item1")) { // fast lookup
  console.log("Item found");
}
miniSet.remove("item1"); // fast deletion

Die beste Wahl hängt von den spezifischen Anforderungen und der in Ihrer Umgebung verfügbaren Unterstützung ab. Für komplexe oder leistungskritische Anwendungen ist das ES6-Set-Objekt ideal. Andernfalls kann die Verwendung eines Objekts, einer Polyfüllung oder eines vorgefertigten Satzobjekts eine sinnvolle Lösung darstellen.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3