我正在尝试使用从1到数组长度的数字填充数组。但是,它不起作用。我可以做些什么来解决它?
var numArray = new Array(48);
for(i=0;i>=numArray.length;i++) {
numArray[i] = numArray.push(i+1);
}
答案 0 :(得分:1)
首先,您的循环实际上不会运行,因为条件i >= numArray.length
将立即为false,因为i == 0
和numArray.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)
你也可以这样做;
var numArray = (new Array(48)).fill("whatever").map((e,i) => i+1);
document.write('<pre>' + JSON.stringify(numArray, 0, 2) + '</pre>');
&#13;