Umwandlung von Ganzzahlen in römische Numerale

JavaScriptJavaScriptBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir untersuchen, wie man eine Ganzzahl in ihre römische Numeral-Darstellung (Römische Zahlen-Darstellung) mit JavaScript umwandelt. Wir werden eine Nachschlagetabelle (Lookup-Tabelle) verwenden, um die ganzzahligen Werte auf ihre entsprechenden römischen Numerale abzubilden, und dann die reduce-Methode nutzen, um über die Werte zu iterieren und die römische Numeral-Darstellung der eingegebenen Ganzzahl zu erstellen. Am Ende dieses Labs werden Sie ein tieferes Verständnis dafür haben, wie man Arrays und Strings in JavaScript manipuliert, um komplexe Aufgaben auszuführen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") subgraph Lab Skills javascript/variables -.-> lab-28659{{"Umwandlung von Ganzzahlen in römische Numerale"}} javascript/data_types -.-> lab-28659{{"Umwandlung von Ganzzahlen in römische Numerale"}} javascript/arith_ops -.-> lab-28659{{"Umwandlung von Ganzzahlen in römische Numerale"}} javascript/comp_ops -.-> lab-28659{{"Umwandlung von Ganzzahlen in römische Numerale"}} javascript/higher_funcs -.-> lab-28659{{"Umwandlung von Ganzzahlen in römische Numerale"}} end

Umwandlung einer Ganzzahl in römische Numerale

Um eine Ganzzahl in ihre römische Numeral-Darstellung umzuwandeln, befolgen Sie diese Schritte:

  1. Öffnen Sie das Terminal/SSH und geben Sie node ein, um mit der Codierung zu beginnen.

  2. Die Funktion toRomanNumeral() akzeptiert Werte zwischen 1 und 3999 (beide inklusive).

  3. Erstellen Sie eine Nachschlagetabelle (Lookup-Tabelle), die Arrays mit zwei Werten in der Form (römischer Wert, Ganzzahl) enthält.

  4. Verwenden Sie Array.prototype.reduce(), um über die Werte in lookup zu iterieren und num wiederholt durch den Wert zu teilen.

  5. Verwenden Sie String.prototype.repeat(), um die römische Numeral-Darstellung zum Akkumulator hinzuzufügen.

Hier ist der Code für die Funktion toRomanNumeral():

const toRomanNumeral = (num) => {
  const lookup = [
    ["M", 1000],
    ["CM", 900],
    ["D", 500],
    ["CD", 400],
    ["C", 100],
    ["XC", 90],
    ["L", 50],
    ["XL", 40],
    ["X", 10],
    ["IX", 9],
    ["V", 5],
    ["IV", 4],
    ["I", 1]
  ];
  return lookup.reduce((acc, [k, v]) => {
    acc += k.repeat(Math.floor(num / v));
    num = num % v;
    return acc;
  }, "");
};

Sie können die Funktion mit diesen Beispielen testen:

toRomanNumeral(3); // 'III'
toRomanNumeral(11); // 'XI'
toRomanNumeral(1998); // 'MCMXCVIII'

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab "Integer to Roman Numeral" (Umwandlung von Ganzzahlen in römische Numerale) abgeschlossen. Sie können in LabEx weitere Labs üben, um Ihre Fähigkeiten zu verbessern.