javascript - 关于JS创建数组的问题求大神指教。
大家讲道理
大家讲道理 2017-04-10 18:06:00
[JavaScript讨论组]

我想要的效果是,已知数组的长度,然后跟据这个长度创建相对应的内容。如:
已知数组创度为8现在我要跟据这个数组的长度创建8个内容;

var array_oBox=new Array([8]);//数组长度是动态获取到的的一数值。然后我想把上面的数组长度转化为:
var arry_oBox1 = [0,0,0,0,0,0,0,0];//这种表现形式。这个要怎么做呀,谢谢大神帮指教一下哈。

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(6)
迷茫
var value = 0;
var arrLength = 8;
var arr = (new Array(arrLength+1)).join(value).split('');
//["0", "0", "0", "0", "0", "0", "0", "0"]
迷茫

假设获取到的长度为length

for(var i=0; i < length; i++) {
    arry_oBox1[i]=0;
}

你看这样可以么?

PHPz
var arr=Array.apply(null,new Array(10)).map(function(){return 0});
var arr=Array.from({length:10},function(){return 0})
var arr=[];
for(var i=0;i<10;i++){arr[i]=0}
伊谢尔伦
const value = '0'
value.repeat(8).split('')

上边不是一个好方法(还需要在支持 ES6 的环境下才能使用)。

乖乖地使用字面量或者循环赋值吧,你还想搞什么花样呢?只会让代码更难读。

伊谢尔伦

最直接的方式就是 @kaim1226 的循环,也可以这样

var len = 8;

Array.apply(null, { length: len}).map(function() { return 0; });

如果用 es6,语法可以更简洁一些

const len = 8;
Array.apply(null, { length: len }).map(() => 0);
巴扎黑
var len = 8,
    array = new Array(len).fill("0");
console.log(array); // ["0", "0", "0", "0", "0", "0", "0", "0"]
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号