Javascript 从for循环内部向数组添加元素
在下面的for循环中,我有Javascript 从for循环内部向数组添加元素,javascript,arrays,for-loop,Javascript,Arrays,For Loop,在下面的for循环中,我有arr[I]=x*I我基本上是想得到数字的倍数。我现在得到的代码结果是[0,2,4,6,8,10,12,14,16,18]我不希望数组的第一个元素是0 var n = 10; var arr = []; var x = 2; for(var i = 0; i < n; i++ ){ //arr[0] = x; arr[i] = x * i; // arr.push(x += x) }
arr[I]=x*I代码>我基本上是想得到数字的倍数。我现在得到的代码结果是[0,2,4,6,8,10,12,14,16,18]
我不希望数组的第一个元素是0
var n = 10;
var arr = [];
var x = 2;
for(var i = 0; i < n; i++ ){
//arr[0] = x;
arr[i] = x * i;
// arr.push(x += x)
}
console.log(arr)
var n=10;
var-arr=[];
var x=2;
对于(变量i=0;i
我希望能够执行arr[0]并看到x。在这种情况下是2(倍数的数字..我不知道数学单词)[2,4,6,8,10,12,14,16,18,20]
我知道问题是2*0等于0,所以arr[0]=0。使第一个元素成为第二个循环的最佳方法是什么。我在考虑做一个if声明。或者使用一个数组方法,将数组的开始部分切片。我希望有一种更简单的方法,比如改变for循环。有两种简单的方法可以解决这个问题
更改循环起始值
var arr = [],
x = 2,
n = 10;
for (var i = 1; i <= n; i++) { // Start with `1`
arr.push(x * i);
}
,然后只需删除第一个元素,在创建整个数组之后,如下所示
var n = 10,
arr = [],
x = 2;
for (var i = 0; i <= n; i++) { // Note the limits, 0 to <= n
arr[i] = x * i;
}
console.log(arr);
// [ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 ]
arr = arr.slice(1);
console.log(arr);
// [ 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 ]
var n=10,
arr=[],
x=2;
对于(var i=0;i有两种简单的方法来解决这个问题
更改循环起始值
var arr = [],
x = 2,
n = 10;
for (var i = 1; i <= n; i++) { // Start with `1`
arr.push(x * i);
}
,然后只需删除第一个元素,在创建整个数组之后,如下所示
var n = 10,
arr = [],
x = 2;
for (var i = 0; i <= n; i++) { // Note the limits, 0 to <= n
arr[i] = x * i;
}
console.log(arr);
// [ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 ]
arr = arr.slice(1);
console.log(arr);
// [ 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 ]
var n=10,
arr=[],
x=2;
对于(var i=0;我喜欢你的第一个。还没有测试第二个。我知道我可以使用arr.push(),但使用arr[i]感觉很自然我没有定义,就像你在写这个问题之前所做的那样,我对起始值进行了处理,第一个el没有定义,我想我的主要问题是我很固执地想使用arr[i]而不是push()。你能提醒我为什么推送更好,这样我以后会更倾向于使用正确的方法吗?谢谢你的帮助。@user2537537在过去,push
比索引分配稍微快一点。不过,使用push
的主要原因是我相信代码的可读性ve.你可能想检查和。我猜push只是将一个元素放在最后一个元素之后,然后放入一个数组中,我认为它不太关心索引。我不想成为一个负担,但如果你能告诉我如何使用arr[I](索引分配)获得解决方案那会很有帮助的。这是我开始计划解决它的方式,我想看看如果我使用索引分配,情况会变得更糟。我会接受你的答案。非常感谢。你的awesome@user2537537您可以使用slice
从数组中删除第一个元素现在回答。但不要这样。我喜欢你的第一个。还没有测试第二个。我知道我可以使用arr.push()但是使用arr[i]感觉很自然我没有定义,就像你在写这个问题之前所做的那样,我对起始值进行了处理,第一个el没有定义,我想我的主要问题是我很固执地想使用arr[i]而不是push()。你能提醒我为什么推送更好,这样我以后会更倾向于使用正确的方法吗?谢谢你的帮助。@user2537537在过去,push
比索引分配稍微快一点。不过,使用push
的主要原因是我相信代码的可读性ve.你可能想检查和。我猜push只是将一个元素放在最后一个元素之后,然后放入一个数组中,我认为它不太关心索引。我不想成为一个负担,但如果你能告诉我如何使用arr[I](索引分配)获得解决方案那会很有帮助的。这是我开始计划解决它的方式,我想看看如果我使用索引分配,情况会变得更糟。我会接受你的答案。非常感谢。你的awesome@user2537537您可以使用slice
从数组中删除第一个元素现在就回答,但不要这样。