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

¿Cómo obtener el mayor número de estas variables?jQuery obtener el número más grande de la lista

+0

¿No puedes pegarlos en una matriz? Entonces haz algo de clasificación? –

+6

'biggest = two' es bastante corto. Podría acortarse aún más usando nombres de variables más cortos. –

+1

¿qué tiene que ver jQuery con esto? – DMin

Respuesta

12

Si los tiene en una matriz , usted puede hacer esto:

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 - Utiliza '.push()' para agregar elementos a la parte superior de una matriz. Daré un ejemplo en mi respuesta. – RightSaidFred

21

Math.max (uno, dos, tres)

+0

@WorkingHard, puede usar Math.max.apply (null, [3,2,1]) u ordenar matriz (por desc) y tomar el primer elemento - [1,4,3,2] .sort (función (a, b) {return a b? -1: 0}) [0] – shabunc

1

ponerlos en una matriz, ordenarlos, y tomar el último de los valores ordenados:

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

Todd, en realidad, no hay ninguna garantía, esa matriz se ordenará numéricamente. Debe ordenar de esta manera - [n1, n2, n3] .sort (función (a, b) {return a> b? 1: a shabunc

+0

Interesante, no me di cuenta. Clasifica cada elemento en función de su representación de cadena, por lo que 30 es anterior a 4. –

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

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

biggestNumber (uno, dos, tres)

/* Valor devuelto: (Número) */

+0

¿Por qué no simplemente llamabas 'Math.max' regularmente en ese caso? –

1

Si sus valores están en una matriz, intente reducir:

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

Parece que IE8 (al menos, posiblemente más abajo) no es compatible con Array.reduce. Utilice un método diferente que se describe aquí o puede agregar el código de compatibilidad [de los documentos de referencia de Mozilla] (https://developer.mozilla.org/es/JavaScript/Reference/Global_Objects/array/reduce) – Kevin

1

que trabajarán 100%

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