[英]Trying to understand JS Arrays
function btnDisplay_onclick() {
var age = ageTextboc.value;
var minWeight = [5, 15,25, 45, 60, 70, 75, 80];
minWeightTextbox.value = minWeight[age-1];
}
我想知道為什么我需要在minWeightTextbox.value = minWeight[age-1];
使用age-1
部分minWeightTextbox.value = minWeight[age-1];
而不是age
。
如果有人可以幫助您確切解釋這是什么,那將是驚人的。
從技術上講,您不必執行age-1
,您只需要執行age
...問題就在於您必須輸入從0開始而不是1的年齡。(假設數組的精確度為0,意味着小於一個月。)
正如其他答案和注釋所解釋的,原因是因為javascript中的數組從0(以及其他大多數地方,除了一些奇怪的地方)開始為0。
或者,您可以為數組中的0位置添加填充值。 在這里我添加了1.現在,您不必使用age-1
,而只需使用age
。
var minWeight = [1, 5, 15, 25, 45, 60, 70, 75, 80];
這是另一種以相同方式修改數組的替代方法。
var minWeight = [, 5, 15, 25, 45, 60, 70, 75, 80];
僅這次,未定義索引0的第一個位置。
數組索引是基數而不是序數。 第一個(標准)位置是索引0(基本)。 對象也可以有數字成員,但它們是名義上的。
這是一個清晰的解釋。 訂購的序數(1st),計數的基數(0、1、2 ...),命名的標稱(#3)。
這是因為數組被索引為0,並且該代碼希望以可視方式表示以月為單位的年齡(1-9)。 因此,如果我選擇年齡“ 1”,那么您將數據存儲在索引0中。
因此minWeight [0]代表“年齡” 0的體重。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.