簡體   English   中英

Javascript:將鍵值對添加到數組

[英]Javascript: adding a key-value pair to array

我注意到我可以將鍵值對添加到數組(而不是對象,數組)。

var a = [];       // create the array
a[0] = "test";    // conventionally setting an index of 0 to a value
a["foo"] = "bar"; // this actually sets a "key" of the array to "bar"

如果我嘗試獲取a.foo或`a [“ foo”]的值,我只會得到“ bar”。 沒有提出錯誤。

我知道一個Javascript數組實際上是一個對象,但是有特殊的規則,但是感到奇怪的是,它沒有引發錯誤。

我正在使用最新版本的Chrome。

是否有可以使用的實際用例? 圍繞這個事實有什么慣例?

現在嘗試這個:

> Object.getOwnPropertyNames(a)
[ '0', 'length', 'foo' ]
> a.length
1

歡迎使用JavaScript! 這是一個很棒的地方...

是的,您可以在數組上創建命名屬性。 不,您可能不應該。 它們不會被計入Array.length ,並且大多數閱讀您的代碼的開發人員都將經歷一時的混亂,這不太可能導致積極的結果。

如果需要命名屬性,請使用(非數組)對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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