2013-08-29 3 views
0

У меня есть список «кортежей» в javascript, что-то вроде [[1,2], [2,4], [3,5], [5,2], ..., [x, y]], и я хотел бы найти минимум первых значений таким образом, чтобы я мог получить оба значения «кортежа». Поэтому в этом случае я получаю значение [1,2]. Это похоже на что-то, что можно сделать с помощью функции apply, но я несколько новичок в некоторых точках JavaScript, таких как функция apply. Может ли кто-нибудь помочь мне начать с этого? Благодаря!Поиск минимального первого значения списка пар чисел в JavaScript

+0

Я не вижу использования для 'apply()' здесь. Это больше похоже на работу для цикла 'for'. – Sirko

ответ

1

Как сказал Сирко, вы можете сделать это с помощью простого цикла for, сравнивая каждое первое значение с его предыдущим значением. Вы также можете сделать это с помощью метода массива reduce , чтобы достичь более короткий код:

var tuples = [[1,2], [2,4], [3,5], [5,2]]; 
var tupleWithMinFirstValue = tuples.reduce(function(previous, current){ 
    return current[0] < previous[0] ? current : previous; 
}, [Infinity]); 
console.log(tupleWithMinFirstValue); 

http://jsfiddle.net/wAGMX/

Ссылка также предоставляет информацию о совместимости, и polyfill.