Frage von TheLolrix, 26

Vergleichen von mehreren Variablen (JavaScript)?

var x = 10

var y = 20

var z = 30

Wie kann ich die so vergleichen das mir am Ende die Größte Zahl anzeigt wird und man die Zahlen immer noch verändern kann?

Danke

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von selfrefactor, 20

Ich wurde Ramda.js empfehlen, weil es Javascript wirklich verbessern kann. So mit Ramda man kann dass schreiben:

var nums = [x,y,z]; //=> [10,20,30]
R.apply(Math.max, nums); //=> 30

Kommentar von valvaris ,

ist das ein simples Array.reduce?

Kommentar von selfrefactor ,

Nein, es erwartet ein Array(nums) und anwenden eine Funktion(Math.max). Mehr an http://ramdajs.com/0.21.0/docs/#apply

Kommentar von Dory1 ,

Und wo ist da der Unterschied zu Math.max.apply(Math, nums);? Das geht doch auch ohne eine zusätzliche Bibliothek?

Kommentar von selfrefactor ,

Am ende es gibt kein Unterschied, aber Ramda gibt R.compose Methode und das bedeutet eine lesenbare Kette schaffen. Zum Beispiel:

   R.compose(R.multiply(2),R.add(5),R.apply(Math.max))(nums)
//=> max number from 10,20,30 is 30, then add 5 and then multiply by 2 =70 

Antwort
von valvaris, 25

Math.max(x, Math.max(y, z))

Kommentar von valvaris ,

oder wenns deine javascript-version unterstützt, allee drei in ein Math.max(x,y,z) rein. Würde ich mich aber bei IE nie drauf verlassen. Der hat sein Jscript, was ein Javascript-Nachbau ist.

Kommentar von Dory1 ,

Math.max mit beliebig vielen Argumenten wird seit IE6 unterstützt.

Kommentar von valvaris ,

Unterstützt ja, aber für Fehlerfreiheit garantiere ich nicht, da es in einer Version funktionieren kann, in der nächsten nimmer. siehe string.trim()

Keine passende Antwort gefunden?

Fragen Sie die Community