Naja, jede Sortierung ist letztlich ein Vergleich auf größer oder kleiner, und "sortiere dieses Array von Elementen alphabetisch" kann jede mir bekannte Programmiersprache, um mal ein einfaches Beispiel herzunehmen.Ich kenne aktuell keine Programmiersprache, in der ich STRINGS auf kleiner oder größer prüfen kann, eben weil es sinnlos wäre.
Das kannst Du genau so auch in Javascript reproduzieren - Javascript als Wahl, weil Du dafür nichts haben oder installieren musst, sondern einfach die Konsole im Browser verwenden kannst. Rechtsklick, Untersuchen, Reiter "Konsole" und dann z.B. diese beiden Zeilen nacheinander eingeben und jeweils Enter drücken:Aber ja, HA macht das tatsächlich. Krass.
Javascript:
console.log("68903254320" < "7")
console.log(68903254320 < 7)
Fast richtig. Wird es als String gewertet ist 68903254320 kleiner als 7, als Zahl natürlich nicht, und die Definition als String ist eben simpel mit Anführungszeichen zu erledigen. Das kann man dann wieder konvertieren:Also vergleicht er nur das erste Zeichen. Dann wäre 68903254320 auch kleiner 7, aber GLEICH 6 und größer 5.
console.log(Number("68903254320") < Number("7"))
und dann ist das Ergebnis wieder false, entspricht dem, was @amiko jetzt durch das | int
bewirkt, behandle String als Number. Aber, er vergleicht bei String zuerst das erste Zeichen, nicht nur das erste Zeichen. Erzielt der Vergleich des ersten Zeichens kein Ergebnis, dann wird das zweite herangenommen, das dritte... und deshalb wird
console.log("68903254320" < "6")
false ergeben, denn 6 = 6, aber 8 > null, denn existent ist immer größer als nicht existent.Sollte Dich das Thema noch näher interessieren können wir dazu gerne nen eigenen Thread in der Programmiererecke aufmachen, ansonsten würde ich das Offtopic in diesem Thread damit mal beenden