2013-01-19 59 views
3

可能重複:
Associative arrays in Javascript?Javascript數組在PHP風格

是否有可能在JavaScript是這樣做的:

array('one' => 'value-1','two'=> 'value-2'); 

以及訪問它像後這$var['one']並返回value-1我有點新的JS,谷歌沒有給了我一個很好的答案。

+0

該類型數組的適當術語是一個「關聯數組」,它將在Google上提供更多信息。 –

回答

3

是的,沒有 - 你可以創建一個對象這樣的:

var theObject = { one: "value 1", two: "value 2" }; 

,但它不是一個數組。 JavaScript中的真數組具有嚴格的數字索引。 (您可以添加字符串命名屬性爲JavaScript數組對象,但他們不是在陣列的.length佔。)

編輯 —將屬性添加到該對象(或對象),你可以使用.[]運算符:

theObject.newProperty = "something new"; 

theObject[ computeNewPropertyName() ] = "wow"; 

第二個例子顯示了[]操作者,當屬性的名稱被動態一些計算如何(在該示例中,由函數調用,它被使用,但它可以是任何表達)。

+0

如果我稍後想要將新項目添加到對象,我該怎麼做?假設我已經有一個,兩個在對象中,並且我想將五六個添加到該對象,但是在代碼的其他部分中,我該怎麼做? – Uffo

+0

@Uffo:您可以使用'theObject.five ='5''或'theObject ['five'] ='5''。 – Blender

+0

@Uffo我會更新答案。 – Pointy

2

是的,這就是所謂的對象:

var your_object = { 
    'one': 'value-1', 
    'two': 'value-2' 
}; 
2

HAH)))在正常語言這被稱爲字典)))在javascript中可以創建字典或對象這樣

a = {"one":"value-1", "two":"value-2"} 

一個[ 「一個」]返回 「值-1」

1

嘗試

陣列(有序,索引組項目):

var myArray = [ 
    'value-1', 
    'value-2' 
]; 

對象(一組無鑰匙屬性):

var myObject = { 
    'one': 'value-1', 
    'two': 'value-2' 
};