假设我有以下复选框:
<input type="checkbox" value="1-25" />
为了获得定义我要查找的范围边界的两个数字,我使用以下jQuery:
var value = $(this).val();
var lowEnd = Number(value.split('-')[0]);
var highEnd = Number(value.split('-')[1]);
那么,如何创建一个包含lowEnd
和highEnd
之间的所有整数的数组,包括lowEnd
和highEnd
本身?显然,对于这个特定的示例,结果数组将是:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25]
发布于 2011-11-10 01:56:44
var list = [];
for (var i = lowEnd; i <= highEnd; i++) {
list.push(i);
}
发布于 2015-01-31 09:50:39
发布于 2015-11-01 07:07:26
在JavaScript ES6中:
function range(start, end) {
return Array(end - start + 1).fill().map((_, idx) => start + idx)
}
var result = range(9, 18); // [9, 10, 11, 12, 13, 14, 15, 16, 17, 18]
console.log(result);
为了完整起见,这里使用了一个可选的step
参数。
function range(start, end, step = 1) {
const len = Math.floor((end - start) / step) + 1
return Array(len).fill().map((_, idx) => start + (idx * step))
}
var result = range(9, 18, 0.83);
console.log(result);
我会在一个实际的项目中使用npm中的range-inclusive
。它甚至支持倒退步骤,所以这很酷。
https://stackoverflow.com/questions/8069315
复制相似问题