Heim >Web-Frontend >js-Tutorial >Wie kann ich als Strings in JavaScript gespeicherte mathematische Ausdrücke auswerten?

Wie kann ich als Strings in JavaScript gespeicherte mathematische Ausdrücke auswerten?

Susan Sarandon
Susan SarandonOriginal
2024-12-06 08:36:12363Durchsuche

How Can I Evaluate Mathematical Expressions Stored as Strings in JavaScript?

Auswerten mathematischer Ausdrücke in JavaScript-Strings

Das Parsen und Auswerten mathematischer Ausdrücke in JavaScript-Strings stellt eine Herausforderung dar. Es stehen jedoch mehrere Bibliotheken und Techniken zur Verfügung, um dieses Problem effektiv anzugehen.

Ein Ansatz besteht darin, die JavaScript Expression Evaluator-Bibliothek zu verwenden. Diese Bibliothek ermöglicht die Auswertung von Ausdrücken innerhalb von Zeichenfolgen, wie im folgenden Beispiel gezeigt:

Parser.evaluate("2 ^ x", { x: 3 });

Eine weitere Option ist die Verwendung der mathjs-Bibliothek, die einen robusten Satz mathematischer Funktionen bereitstellt. Mit mathjs können Ausdrücke wie folgt ausgewertet werden:

math.eval('sin(45 deg) ^ 2');

Weitere Überlegungen

Eine weitere mögliche Lösung, die in einer separaten Stack Overflow-Antwort vorgeschlagen wird, schlägt eine Methode zum Parsen und Auswerten vor Ausdrücke manuell mithilfe regulärer Ausdrücke erstellen:

const regex = /([0-9]+)\s*([+\-*\/])\s*([0-9]+)/g;
const expression = "1+1";
const result = expression.match(regex).reduce((a, b) => eval(b), 0);

Dieser Ansatz ist komplizierter, bietet aber eine größere Kontrolle über die Auswertung Prozess.

Fazit

Durch die Nutzung dieser Bibliotheken oder Techniken können Entwickler als Zeichenfolgen gespeicherte mathematische Ausdrücke effektiv auswerten und so komplexe Berechnungen und dynamische mathematische Operationen in JavaScript-Anwendungen ermöglichen.

Das obige ist der detaillierte Inhalt vonWie kann ich als Strings in JavaScript gespeicherte mathematische Ausdrücke auswerten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn