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

Как получить наибольшее число от этих переменных?jQuery получить наибольшее количество голосов в списке

+0

Разве вы не можете вставлять их в массив? Затем выполните некоторую сортировку? –

+6

'most = two' довольно короткий. Может быть сокращено и дальше, используя более короткие имена переменных. –

+1

Что делает jQuery? – DMin

ответ

12

Если у вас есть их в массиве , вы можете сделать это:

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 - вы используете '.push()' для добавления элементов в начало массива. Я приведу пример в своем ответе. – RightSaidFred

21

Math.max (один, два, три)

+0

@WorkingHard, вы можете использовать Math.max.apply (null, [3,2,1]) или сортировать массив (по desc) и взять первый элемент - [1,4,3,2] .sort (функция (a, b) {return a b? -1: 0}) [0] – shabunc

1

Поместите их в массив, отсортировать их и взять последний из отсортированных значений:

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

Тодд, на самом деле, нет никакой гарантии, этот массив будет сортироваться численно. Вы должны отсортировать этот путь - [n1, n2, n3] .sort (function (a, b) {return a> b? 1: a shabunc

+0

Интересно, я этого не осознавал. Он сортирует каждый элемент на основе его строкового представления, поэтому 30 до 4. –

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

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

biggestNumber (один, два, три)

/* Возвращаемое значение: (Number) */

+0

Почему бы вам просто не называть 'Math.max' регулярно в этом случае? –

1

Если значения в массиве, попробуйте уменьшить:

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

Похоже, что IE8 (по крайней мере, возможно, дальше) не поддерживает Array.reduce. Или используйте другой метод, описанный здесь, или вы можете добавить код совместимости [из Справочных документов Mozilla] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/array/reduce) – Kevin

1

Это будет работать 100%

var max = Math.max.apply(Math, "your array"); 
Смежные вопросы