Anreden.
Ich poste in dieser Serie Codewars-Herausforderungen und meinen Denkprozess. Ich verwende wann immer möglich JS und Node 18. Nur der Klarheit halber nutze ich sie fair.
Auf zur nächsten Herausforderung von Codewars. In diesem Fall haben wir die Aufgabe, eine Funktion zu entwickeln, die eine beliebige Ganzzahl als Eingabe akzeptiert. Wir müssen die Ziffern von der höchsten zur niedrigsten ordnen.
Ich beginne mit diesem Gedanken:
„Okay, ich muss die Ziffern irgendwie aufteilen. Vielleicht sollte ich zuerst die Ganzzahl in einen String umwandeln. Dann die Ziffern aufteilen. Dann ordnen, dann alle verketten und dann zur Ganzzahl zurückkehren“
Und so beginnt es mit einer Vorlage:
function descendingOrder(n){ // stringify number = n.toString(); // split digits array = new Array(number.length); // code that fills array with digits {} //sort array.sort() // concatenate digits reverse = array.join(''); // back to integer n = Number.parseInt(reverse); return n; }
Viele Briefe, so langweilig. Und immer noch nicht funktionsfähig. Was brauchen wir also noch? Nun, für den Anfang eine Schleife, die die Ziffern im Array platziert:
// split digits array = new Array(number.length); for(i=0 ; i<number.length ; i++){ array[i] = number.at(i); }
Das sollte reichen. Richtig?
Nein. Ein kleines Detail. Der Teufel steckt im Detail. Und das gilt auch für Käfer. Die Sortierfunktion sortiert standardmäßig aufsteigend. Wir müssen „die Polarität umkehren“. Im Wesentlichen brauchen wir das. Das Standardverhalten ist wie folgt:
(a, b) => a - b
Und wir brauchen:
(a, b) => b - a
Alle Zutaten zusammen:
function descendingOrder(n){ number = n.toString(); array = new Array(number.length); for(i=0;i<number.length;i++){ array[i] = number.at(i); } array.sort((a,b)=>b-a) reverse = array.join(''); n = Number.parseInt(reverse); return n; }
Weder die beste noch die einfachste Lösung. Aber es erfüllt seinen Zweck.
Cya. Wasser trinken???.
Zurück
Das obige ist der detaillierte Inhalt vonCodewars – Absteigende Reihenfolge. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!