2014-07-27 15 views
0

我仍然在學習JavaScript模式,我對此很好奇。在JS對象數組中,我應該使用鍵來標識每個對象嗎?

如果我有一個對象數組,我應該讓對象數組沒有鍵(例A),還是使用它們的鍵(例B)?

對象的數組沒有任何按鍵:

var soylent_green_candidates = [{ 
    id: 12341, 
    name: "Don", 
    gender: "Male", 
    weapon_of_choice: "Kangaroo Cannon" 
}, 
{ 
    id: 24325, 
    name: "Jimmy", 
    gender: "Male", 
    weapon_of_choice: "Sushi Blaster" 
}, 
... 
] 

或者使用唯一的ID作爲密鑰的對象數組:

var soylent_green_candidates = [ 
12341: { 
    name: "Don", 
    gender: "Male", 
    weapon_of_choice: "Kangaroo Cannon" 
}, 
24325: { 
    name: "Jimmy", 
    gender: "Male", 
    weapon_of_choice: "Sushi Blaster" 
}, 
... 
] 
+1

示例2的語法不正確。 – m90

+0

您不能使用以數字開頭的''identifier'',如例2 – sarbbottam

+1

Lol @ soylent green所使用的。 –

回答

1

你的第二個例子是無效的,所以應該把問題睡覺。

在Javascript中,您可以選擇陣列,它們被排序,但基本上「少鍵」。每個數組條目只能通過其數字索引,句點來訪問。
另一種選擇是對象,它們沒有保證的順序,但是被任意值鍵入。

['foo', 'bar', 'baz'] 
{ foo : 'bar', baz : 42 } 

您根據這兩個標準,按鍵的順序和要求進行選擇。

(注意:當你可以使用任意數字指數數組,你不能這樣做,使用文本語法[..],它不是通常是一個好主意,如果你需要顯式的按鍵,你要的對象)

+1

啊,我明白了。無論如何,我想海報會對ID中的一個對象感興趣。 – user2864740

+0

是的,基本上我正在讀取數據庫中的用戶對象,並且想要一個簡單的方法來抓取特定的用戶。用戶唯一的唯一鍵是他們的user_id。 –

+1

@Donny那麼它可能是你想要的對象。 – deceze

相關問題