动态创建这个简单数组的最有效方法是什么?
var arr = [ "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"];
假设我们可以从一个变量中获得数字10
var mynumber = 10;
发布于 2012-05-04 23:38:10
var arr = [];
for(var i=1; i<=mynumber; i++) {
arr.push(i.toString());
}
发布于 2016-09-26 01:29:27
在ES2015中,这可以使用Array.from
方法在单个表达式中简洁地实现,如下所示:
Array.from({ length: 10 }, (_, idx) => `${++idx}`)
from
的第一个参数是一个类似数组的对象,它提供了一个长度属性。第二个参数是一个映射函数,它允许我们根据您的请求将默认的undefined
值替换为它们调整后的索引值。查看规范here
发布于 2012-05-04 23:38:03
听起来您只是想构造一个包含整数值的字符串版本的数组。一种简单的方法:
var arr = [];
for (var i = 1; i <= mynumber; i++) arr.push(""+i);
对于更有趣的版本,你可以做一个生成器...
function tail(i, maxval) {
return [i].concat(i < maxval ? tail(i+1, maxval) : []);
}
var arr = tail(1, mynumber);
https://stackoverflow.com/questions/10451893
复制相似问题