Mis*_*hko 14 javascript jquery
请考虑以下HTML:
<div class="a" x="6"></div>
<div class="a" x="9"></div>
<div class="a" x="2"></div>
...
<div class="a" x="8"></div>
Run Code Online (Sandbox Code Playgroud)
您如何找到x所有.a元素的最大值?
假设所有x值都是正整数.
Ble*_*der 25
只需循环它们:
var maximum = null;
$('.a').each(function() {
var value = parseFloat($(this).attr('x'));
maximum = (value > maximum) ? value : maximum;
});
Run Code Online (Sandbox Code Playgroud)
我有另一个版本:
var numbers = $(".a").map(function(){
return parseFloat(this.getAttribute('x')) || -Infinity;
}).toArray();
$("#max").html(Math.max.apply(Math, numbers));
Run Code Online (Sandbox Code Playgroud)
这使用map函数提取x-Attributes的值,将对象转换为数组并将数组元素作为函数参数提供给 Math.max
Math.max技巧从http://ejohn.org/blog/fast-javascript-maxmin/被盗
UPDATE
当没有属性时,添加"|| -Infinity"来正确处理案例.看@kubedan的小提琴
| 归档时间: |
|
| 查看次数: |
12140 次 |
| 最近记录: |