簡體   English   中英

試圖了解JS數組

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM