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