-3

我有以下标记:

<figure  data-item="0"> ... </figure>
<figure  data-item="1"> ... </figure>
<figure  data-item="2"> ... </figure>
<figure  data-item="3"> ... </figure>
<figure  data-item="4"> ... </figure>
...

等等。

我需要的是获得最高和最低的数据项价值。

我从这个开始:

var arr = [3, 36, 66, 2, 7];
max = 0;

$.each(arr, function(k, v) {
  if (v > max) max = v; 
});

console.log(max);

但我不知道如何创建这样的数组

4

3 回答 3

1

你可以做这样的事情来获得最小值和最大值

var min = 999;
var min = 0;

$("figure").each()
{
    var value = $(this).data("item");
    if(value < min) min = value;
    if(value > max) max = value;
}

alert(min);
alert(max);
于 2013-07-05T20:01:40.237 回答
1

演示

var myArray = $('figure').map(function(){
    return $(this).data('item');
}).get();

var maxValue = Math.max.apply(null, myArray);
var minValue = Math.min.apply(null, myArray);
于 2013-07-05T20:04:52.117 回答
0

要从您的元素中创建一个数组,您可以使用.map.

var arr = $('figure').map(function(){
    return $(this).data('item');
}).get();

var max = 0;

$.each(arr, function(k, v) {
  if (v > max) max = v; 
});

console.log(max);
于 2013-07-05T20:02:09.050 回答