如何从字符串中获得最小/最大int值
How to get a min/max int value from string?
我有许多元素的页面是id = "item('d{1,})"
。如何快速获得('d{1,})
regexp的最小值和最大值的元素id ?
如果浏览器支持,也可以使用querySelectorAll
;所有浏览器都应该选择它。IE从8月开始支持。
var elements = document.querySelectorAll("[id^=item]");
var max = null;
var min = null;
for(var i = 0; i < elements.length; i++) {
var number = elements[i].id.replace(/item/, "");
if(max == null) {
max = number;
min = number;
}
else {
max = (number > max) ? number : max;
min = (number < min) ? number : min;
}
}
如果浏览器不支持,你必须这样做:
//assuming that you're looking for div; just replace it with the actual element
//you're looking for
var elements = document.getElementsByTagName("<div">);
var max = null;
var min = null;
for(var i = 0; i < elements.length; i++) {
if(/item'd+/.test(elements[i].id)) {
var number = elements[i].id.replace(/item/, "");
if(max == null) {
max = number;
min = number;
}
else {
max = (number > max) ? number : max;
min = (number < min) ? number : min;
}
}
}
或者如果你使用jQuery:
var max = null;
var min = null;
jQuery("[id^=item]").each(function() {
var number = this.id.replace(/item/, "");
if(max == null) {
max = number;
min = number;
}
else {
max = (number > max) ? number : max;
min = (number < min) ? number : min;
}
});
使用此命令获取id列表:
$j("[id^=item]").map(function(){ return Number(this.id.substr(4)); });
我不认为jQuery有任何工具来快速获得最小/最大值,但它是相当琐碎的自己写。
根据Vivin的要求提供了琐碎的部分:
var arr = $j("[id^=item]").map(function(){ return Number(this.id.substr(4)); }).sort();
var min = arr[0];
var max = arr[arr.length-1];
相关文章:
- Rails File_field最大堆栈大小
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- 限制javascript变量的最小/最大整数
- Highchart:endOnTick没有完成xaxis的最大极限设置
- 在Javascript数组中查找绝对最大值
- 如何显示文本长度,即使它超过ng最大长度
- 超过了async.detect最大调用堆栈大小
- Html5输入属性的默认值,如最小值、最大值、大小等
- 按最大值获取数组索引
- 超过了最大调用堆栈大小,循环无限
- 超过了最大调用堆栈大小.递归标签
- 日志:未捕获的范围错误:超过了最大调用堆栈大小
- 计算阶乘超过了Javascript中的最大整数限制
- 选择宽度等于最大选项
- Express.js应用程序最大CPU
- 设置固定元素的最大高度
- 移动网页中文件的最大大小
- 未捕获的范围错误:setTimeout()超过了最大调用堆栈大小
- 获取客户端'服务器端的s最大int值
- 如何从字符串中获得最小/最大int值