繁体   English   中英

如何在循环中创建负数?

[英]how to create negative numbers in array by loop?

我想知道如何使用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]...

如果推送到数组,则不必声明索引:

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

如果您需要跳过0:

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

尝试这种方式:

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

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

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

我没有看到有问题的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> 

为了提供所需的顺序,从-10到-1,然后从1到10,不带0,请考虑以下几点:

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。

用这个 :

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]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM