2017-06-28 52 views
1

我是一名Javascript初學者和學習概念。作爲我學習過程的一部分,我遇到了下面的代碼片段。Javascript數組是真的數組嗎?

<script> 
    var data=[]; 
    data.push("100"); 
    data.push(100); 
    var object=[]; 
    object.string="100"; 
    object.number=100; 
    data.push(object); 
    console.log(data); 
</script> 

上面的代碼片段定義了一個數組並將一個String,Number和一個Object推入它。我認爲,這違反了數組的定義,其內容如下:

陣列是可容納項目的固定數量和這些 項目應該是同一類型的容器。

我想作爲元件是相同類型的不知道是否陣列是在這種情況下要使用的合適的術語。

+1

「應該」與*必須是*不一樣。 – deceze

+3

你從哪裏取得*「Array」*的定義? (例如:引用的確切來源) – UnholySheep

+1

他接受了Tutorials點的[數據結構和算法 - 數組](https://www.tutorialspoint.com/data_structures_algorithms/array_data_structure.htm)中的定義。 – CodeMonkey

回答

0

這裏的「應該」很可能是指邏輯上相同的集合比異構集合更容易處理的事實。如果您有一組數字,則可以執行聚合操作,例如輕鬆地將它們相加;如果你有一堆混雜的東西,你需要逐一挑選它,並且不能輕易做任何事情。這往往是一個結構不良的程序的標誌。

爲什麼集合必須是同構的,特別是在像Javascript這樣的動態類型語言(更像靜態類型語言)中沒有技術上的原因。