如何选择最小的数字?

时间:2014-04-16 16:11:52

标签: jquery

我有五个div与班级“奖”。 如何选择最小的奖品,并将其添加到“奖品盒”? 我在剧本方面不够强,所以我非常感谢你解决这个问题。

  <div id="price-box">

  </div> 

  <table id="table-prices">
    <tr>
      <td>Ткань</td>
      <td>Цена (грн)</td>
    </tr>
    <tr>
      <td>1</td>
      <td class="prise">1496</td>
    </tr>
    <tr>
      <td>2</td>
      <td class="prise">4496</td>
    </tr>
    <tr>
      <td>3</td>
      <td class="prise">2496</td>
    </tr>
    <tr>
      <td>4</td>
      <td class="prise">5296</td>
    </tr>
    <tr>
      <td>5</td>
      <td class="prise">5696</td>
    </tr>
  </table> 

4 个答案:

答案 0 :(得分:3)

您可以使用 .map() td元素中获取一系列文字,而不是使用 Math.max.apply 来获取最大值检索到的数组中的元素,然后将其设置为div的内容:

var priceArr = $('.prise').map(function() {
    return $(this).text();    
}).get();
var highestPrice = Math.max.apply(Math, priceArr);
$('#price-box').html(highestPrice);

<强> Fiddle Demo

答案 1 :(得分:2)

这样的事情:

var array = [];
$('.prise').each(function(){array.push(+$(this).text());});
var minimum = Math.min.apply(null,array);
$('#price-box').text(minimum);

Demo

答案 2 :(得分:1)

您可以迭代价格,转换为数字并比较每个数字以找到最低价格,而不必像其他许多答案那样创建临时文本项目数组:

var smallestSoFar = Number.MAX_VALUE;
$("#table-prices .prise").each(function() {
    smallestSoFar = Math.min(smallestSoFar, parseInt($(this).text(), 10));
});
$("#price-box").text(smallestSoFar);      

工作演示:http://jsfiddle.net/jfriend00/SNJwA/

答案 3 :(得分:0)

var smallest =0 ;
var prices = $('.prise').map(function(_, td) {
return $(td).text();
}).get();

for(var i = 0 ;i < prices.length; i+=1){
 if (prices[i] < smallest){
    smallest = prices[i] ;
  }
}
$('#price-box').html(smallest);

但你必须调用这个脚本