[英]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.