Получить максимальное и минимальное значение из массива в JavaScript

Я создаю следующий массив из атрибутов данных, и мне нужно иметь возможность получить из него самое высокое и самое низкое значение, чтобы я мог передать его другой функции позже.

var allProducts = $(products).children("li");
prices = []
$(allProducts).each(function () {
    var price = parseFloat($(this).data('price'));
    prices[price] = price;
});
console.log(prices[0]) <!-- this returns undefined

Элементы моего списка выглядят так (Я сократил для удобства чтения):

<li data-price="29.97"><a href="#">Product</a></li>
<li data-price="31.00"><a href="#">Product</a></li>
<li data-price="19.38"><a href="#">Product</a></li>
<li data-price="20.00"><a href="#">Product</a></li>

Быстрый console.log по ценам показывает мне мой массив, который кажется отсортированным, поэтому я могу взять первый и последний элемент, который я предполагаю, но в настоящее время имена и значения в массиве одинаковы, поэтому всякий раз, когда я пытаюсь сделать цены [0 ], получаю undefined

[]
19.38   19.38
20.00   20.00
29.97   29.97
31.00   31.00

У меня такое чувство, что это глупо простой вопрос, так что, пожалуйста, будьте добры:)

49
задан RJB 15 August 2012 в 23:34
поделиться