![]() |
飘逸的豆芽 · yml语法学习 ...· 11 月前 · |
![]() |
冷静的大熊猫 · FastDeploy+英特尔NUC+大疆无人 ...· 1 年前 · |
![]() |
淡定的楼梯 · 前端工程化 - 剖析npm的包管理机制 - 掘金· 1 年前 · |
![]() |
灰常酷的楼房 · 关于HTTPClient使用代理poxy请求 ...· 1 年前 · |
![]() |
听话的感冒药 · 在 DateTime 与 ...· 1 年前 · |
动态创建这个简单数组的最有效方法是什么?
var arr = [ "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"];
假设我们可以从一个变量中获得数字10
var mynumber = 10;
听起来您只是想构造一个包含整数值的字符串版本的数组。一种简单的方法:
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);
var arr = [];
for(var i=1; i<=mynumber; i++) {
arr.push(i.toString());
}
var arr = [];
while(mynumber--) {
arr[mynumber] = String(mynumber+1);
}
如果你在问是否有一个内建的Pythonic
range
-like函数,那是没有的,你必须用蛮力的方式来做。也许你会对
rangy
感兴趣。
错误阅读了问题,已更正。尝试:
var myNumber = 100,
myarr = (function arr(i){return i ? arr(i-1).concat(i) : [i]}(myNumber));
只是为了好玩,如果你像这样扩展
Array
:
Array.prototype.mapx = function(callback){
return String(this).split(',').map(callback);
}
您可以使用:
var myNum = 100,
myarr = new Array(myNum).mapx(function(el,i){return i+1;});
和你想要动态填充的所有数组的方法一样。一个for循环。Suedo代码是
arr =array()
for(i; i<max; i++){
arr[]=i
}
这应该会对你有所帮助。
我会这样做:
var num = 10,
dynar = [...Array(num)].map((_,i) => ++i+"");
console.log(dynar);
![]() |
淡定的楼梯 · 前端工程化 - 剖析npm的包管理机制 - 掘金 1 年前 |