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.
Umwandlung einer Ganzzahl in römische Numerale
Um eine Ganzzahl in ihre römische Numeral-Darstellung umzuwandeln, befolgen Sie diese Schritte:
Öffnen Sie das Terminal/SSH und geben Sie
nodeein, um mit der Codierung zu beginnen.Die Funktion
toRomanNumeral()akzeptiert Werte zwischen1und3999(beide inklusive).Erstellen Sie eine Nachschlagetabelle (Lookup-Tabelle), die Arrays mit zwei Werten in der Form (römischer Wert, Ganzzahl) enthält.
Verwenden Sie
Array.prototype.reduce(), um über die Werte inlookupzu iterieren undnumwiederholt durch den Wert zu teilen.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.