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

Bu değişkenlerden en büyük sayı nasıl elde edilir?jQuery listeden en büyük numarayı al

+0

Onları bir Diziye yapıştıramaz mısınız? Öyleyse bir sıralama yapalım mı? –

+6

'en büyük = iki 'oldukça kısa. Kısa değişken isimleri kullanılarak daha da kısaltılabilir. –

+1

jQuery bununla ne ilgisi var? – DMin

cevap

12

, bunu yapabilirsiniz:

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 - Bir dizinin üstüne öğeleri eklemek için '.push()' işlevini kullanırsınız. Cevabımda bir örnek vereceğim. – RightSaidFred

21

Math.max (bir, iki, üç)

+0

@WorkingHard, Math.max.apply (null, [3,2,1]) veya sort dizisini (desc tarafından) kullanabilir ve ilk öğeyi alabilirsin - [1,4,3,2] .sort (function (a, b) {return a b? -1: 0}) [0] – shabunc

1

, bir diziye koyun onları sıralamak ve sıralı değerlerin son almak: Bir dizide bir onları varsa

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

Todd, aslında, hiçbir garanti yoktur, bu dizi sayısal olarak sıralanır. Bu şekilde sıralama yapmalısınız - [n1, n2, n3] .sort (işlev (a, b) {return a> b? 1: a shabunc

+0

İlginç, Bunu farketmedim. Her öğeyi dize temsile göre sıralar, bu nedenle 30 önce 4 gelir. –

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

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

biggestNumber (bir, iki, üç)

/* döndürülen değeri: değerleriniz bir dizide ise (Sayı) */

+0

Neden bu durumda Math.max'ı düzenli olarak çağırmadın? –

1

azaltmak deneyin:

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

IE8 (en azından muhtemelen daha aşağı) Array.reduce'u desteklemiyor gibi görünüyor. Burada ana hatlarıyla belirtilen farklı bir yöntem kullanın ya da uyumluluk kodunu [Mozilla Referans Belgelerinden] ekleyebilirsiniz (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/array/reduce) – Kevin

1

çalışacak O% 100

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