假设我想要一个变量包含从1到100的数字。我可以这样做:
var numbers = [1,2,3,4,...,98,99,100]
但要把这些数字都写下来需要一段时间。有没有办法给这个变量设定一个范围?类似于:
var numbers = [from 1, to 100]
这听起来可能是一个真正的nooby问题,但我自己还没有弄清楚。提前谢谢。
发布于 2016-01-25 15:38:52
除了这个答案之外,以下是一些方法:
for
循环:
var numbers = []
for (var i = 1; i <= 100; i++) {
numbers.push(i)
}
Array.prototype.fill
+ Array.prototype.map
var numbers = Array(100).fill().map(function(v, i) { return i + 1; })
或者,如果允许您使用箭头函数
var numbers = Array(100).fill().map((v, i) => i + 1)
或者,如果允许您使用扩展算子
var numbers = [...Array(100)].map((v, i) => i + 1)
但是,请注意,使用for
循环是最快。
发布于 2016-01-25 15:39:17
将最小和最大范围存储在对象中:
var a = {
from: 0,
to: 100
};
发布于 2016-01-25 16:02:23
在所有现代浏览器中都支持,包括IE9+。
var numbers = Array.apply(null,Array(100)).map(function(e,i){return i+1;});
https://stackoverflow.com/questions/35004505
复制相似问题