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