如何通过循环在数组中创建负数?

时间:2015-09-13 04:45:16

标签: javascript arrays loops

我想知道如何使用for循环创建一个如下所示的数组(请注意,接受的答案包含0而不是我的要求。我想我应该默想这一点并停止忽略人们的评论)。

var arr = [-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

我的尝试无法在数组中打印负数。

for (var i = -10; i <= 10; i++) {
    arr[i] = i;
}

结果:

0,1,2,3,4,5,6,7,8,9,10

我也不想要数组中的负数索引。

arr[-10]....arr[-9].....arr[1]...

6 个答案:

答案 0 :(得分:7)

如果您推送到阵列,则不必说明索引:

var i, arr = [];
for (i = -10; i <= 10; i++) {
    arr.push(i);
}

如果您需要跳过0:

for (i = -10; i <= 10; i++) {
    i !== 0 && arr.push(i);
}

答案 1 :(得分:5)

尝试这种方式:

for (int i = 0; i <= 20; i++)
{
    arr [i] = i - 10;
}

数组中的索引始终从0开始,并且不能为负数,因此如果在正索引处需要负值,则必须进行某些计算或值的转换。

答案 2 :(得分:2)

var arr = [];
for (var j = -10; j <= 10; j++)
    arr[arr.length] = j;

答案 3 :(得分:2)

  

我没有看到0有问题:

var arr = [];
for (var j = 1; j <= 10; j++) {
	arr.push(j);
	arr.unshift((j) * (-1));	
}
document.getElementById('data').innerHTML = JSON.stringify(arr);
<div id="data"></div>

答案 4 :(得分:1)

为了提供-10到-1的所需序列,然后在没有0的情况下提供1到10,请考虑以下因素:

var arr = [];
for(var i = -10; i < 0; i++) arr[i + 10] = i;
for(var i = 1; i <= 10; i++) arr[i + 10] = i;

如果你想使用不同范围的相同循环,只需在每次在上面给出的代码中看到它时定义一个替换10的变量。

答案 5 :(得分:0)

使用此:

var array = new Array();
var arrayIndex = 0;

for(var i=-10; i<=10;i++){
  array[arrayIndex++] = i;
}

数组索引从0开始,不能为负数。

<强>解释

第一行声明了数组。

第二行声明一个名为arrayIndex的变量。

for循环遍历介于-10到10之间的所有数字,并将所有这些值从array[0]分配到array[20]