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

Cách lấy số lớn nhất từ ​​các biến này?jQuery lấy số lớn nhất từ ​​danh sách

+0

Bạn không thể dán chúng vào một mảng? Sau đó, làm một số phân loại? –

+6

'lớn nhất = hai' là khá ngắn. Có thể được rút ngắn hơn nữa bằng cách sử dụng tên biến ngắn hơn. –

+1

jQuery phải làm gì với điều này? – DMin

Trả lời

12

Nếu bạn có chúng trong một mảng , bạn có thể làm điều này:

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 - Bạn sử dụng '.push()' để thêm các mục vào đầu một mảng. Tôi sẽ đưa ra một ví dụ trong câu trả lời của tôi. – RightSaidFred

21

Math.max (một, hai, ba)

+0

@WorkingHard, bạn có thể sử dụng Math.max.apply (null, [3,2,1]) hoặc sắp xếp mảng (theo desc) và lấy phần tử đầu tiên - [1,4,3,2] .sort (function) (a, b) {return a b? -1: 0}) [0] – shabunc

1

Đặt chúng trong một mảng, sắp xếp chúng, và lấy cuối cùng của các giá trị được sắp xếp:

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

Todd, thực sự, không có bất kỳ sự đảm bảo nào, mảng đó sẽ được sắp xếp theo số lượng. Bạn nên sắp xếp theo cách này - [n1, n2, n3] .sort (hàm (a, b) {return a> b? 1: a shabunc

+0

Thú vị, tôi không nhận ra điều đó. Nó sắp xếp mỗi mục dựa trên biểu diễn chuỗi của nó, vì vậy 30 đến trước 4. –

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

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

biggestNumber (một, hai, ba)

/* giá trị trả về: (Số) */

+0

Tại sao bạn không nên gọi 'Math.max' thường xuyên trong trường hợp đó? –

1

Nếu giá trị của bạn trong một mảng, hãy thử giảm:

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

Dường như IE8 (ít nhất, có thể tiếp tục xuống) không hỗ trợ Array.reduce. Hoặc sử dụng một phương pháp khác được nêu ở đây hoặc bạn có thể thêm mã tương thích [từ Tài liệu tham khảo Mozilla] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/array/reduce) – Kevin

1

Điều đó sẽ làm việc 100%

var max = Math.max.apply(Math, "your array"); 
Các vấn đề liên quan