2010-09-10 12 views
8
var one = 1415; 
var two = 2343; 
var three = 11; 

Jak uzyskać największą liczbę z tych zmiennych?jQuery uzyskać największy numer z listy

+0

Nie możesz umieścić ich w tablicy? A potem posortuj? –

+6

'największy = dwa' jest dość krótki. Można go skrócić jeszcze bardziej, używając krótszych nazw zmiennych. –

+1

co ma z tym wspólnego jQuery? – DMin

Odpowiedz

12

Jeśli masz je w tablicy można to zrobić:

var numbers_array = [1415, 2343, 11]; 

numbers_array.push(432); // now the array is [1415, 2343, 11, 432] 

var biggest = Math.max.apply(null, numbers_array); 
+0

@WorkingHard - Używasz '.push()' do dodawania elementów do początku tablicy. Podam przykład w mojej odpowiedzi. – RightSaidFred

21

Math.max (jeden, dwa, trzy)

+0

@WorkingHard, możesz użyć Math.max.apply (null, [3,2,1]) lub sortować tablicę (według opisu) i wziąć pierwszy element - [1,4,3,2] .sort (function (a, b) {return a b? -1: 0}) [0] – shabunc

1

Umieść je w tablicy, sortować je i wziąć ostatni wartości posortowanych:

[one, two, three].sort(function (a, b) { 
    return a > b ? 1 : (a < b ? -1 : 0); 
}).slice(-1); 
+1

Todd, tak naprawdę, nie ma żadnej gwarancji, że tablica zostanie posortowana numerycznie. Powinieneś sortować w ten sposób - [n1, n2, n3] .sort (funkcja (a, b) {return a> b? 1: a shabunc

+0

Ciekawe, nie zdawałem sobie z tego sprawy. Sortuje każdy element w oparciu o jego reprezentację łańcuchową, a więc 30 występuje przed 4. –

0
function biggestNumber(){ 
    return Math.max.apply(this,arguments); 
} 

var one= 1415; 
var two= 2343; 
var three= 11; 

biggestNumber (jeden, dwa, trzy)

/* Wartość zwracana: (ilość) */

+0

Dlaczego w takim przypadku nie nazywasz regularnie 'Math.max'? –

1

Jeśli wartości są w tablicy, spróbuj zmniejszyć:

var biggestValue = myArray.reduce(function(a,b){ return a > b ? a : b ; }); 
+1

Wygląda na to, że IE8 (przynajmniej, prawdopodobnie w dół) nie obsługuje Array.reduce. Użyj innej metody opisanej tutaj lub dodaj kod zgodności [z Mozilla Reference Docs] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/array/reduce) – Kevin

1

który będzie działał w 100%

var max = Math.max.apply(Math, "your array");