for循环用数字填充数组

时间:2016-04-21 12:39:10

标签: arrays loops for-loop

我正在尝试使用从1到数组长度的数字填充数组。但是,它不起作用。我可以做些什么来解决它?

var numArray = new Array(48);

for(i=0;i>=numArray.length;i++) {
    numArray[i] = numArray.push(i+1);
}

2 个答案:

答案 0 :(得分:1)

首先,您的循环实际上不会运行,因为条件i >= numArray.length将立即为false,因为i == 0numArray.length == 48。要解决此问题,请将循环更改为

// this will loop as long as i is less than the length of the array
// i.e. i = 0, i = 1, i = 2, ...
for (var i = 0; i < numArray.length; i++) {

此外,您不是以您的想法添加数字到数组。 numArray.push(i+1)将数字添加到数组的末尾,该数字将从索引48开始。您可以简单地使用

numArray[i] = i + 1;

将数字添加到数组中。如果您必须使用push方法,并且您知道阵列的长度必须为48,那么您可以

var numArray = new Array(0);
for (var i = 0; i < 48; i++) {
    numArray.push(i + 1);
}

答案 1 :(得分:0)

你也可以这样做;

&#13;
&#13;
var numArray = (new Array(48)).fill("whatever").map((e,i) => i+1);
document.write('<pre>' + JSON.stringify(numArray, 0, 2) + '</pre>');
&#13;
&#13;
&#13;