有没有办法在 JavaScript 中创建整数范围?



>有没有办法创建一个整数范围?

在其他语言中,我可以使用Range(1, 9)轻松创建[1, 2, ... 8]

有没有一种简单的方法可以在JavaScript中创建列表?

const range = (start, end) => Array.from({length: end - start}, (_, i) => start + i);
console.log(range(1,5));

这将创建一个包含索引的数组。如果你在循环中需要它,迭代器可能会更好:

function* range(start, end = Infinity) {
for(let i = start; i < end; i++)
yield i;
}

可用作:

for(const v of range(1, 10))
console.log(v);

您还可以轻松地将迭代器转换为数组:

console.log([...range(0, 10)]);

有没有一种简单的方法可以在JavaScript中创建列表?

否,但您可以使用mapspread syntaxES功能创建自己的解决方案。

var range = (start, end) => start < end ? [...Array(end - start)].map((_, i) => start + i) : [];
console.log(range(1,9));

此外,returns一个empty数组,以防start大于end的情况。

您可以创建一个名为Range的可重用函数,并循环访问开始值和结束值。您可以进一步添加if条件,以确保起始值始终小于结束值。

function Range(start, end){
var rangeArray = [];
if(start < end){
for(var i=start; i<end; i++){
rangeArray.push(i);
}
}
return rangeArray;
};
console.log(Range(1,9));
console.log(Range(2,9));
console.log(Range(5,12));
console.log(Range(16,12));
console.log(Range(30,12));

最新更新