对象key值为数字时的处理
先說解決辦法:
通過a[key]的方式獲取。
具體場景是這樣的:
有一個對象的key是數字組成的,這時候使用a.b的形式就不能獲取到相應的value值,
如下圖:
a.'111'會報錯。
特別說明:
a['111']和a[111]兩種寫法都是一樣的,沒有什么區別,此用法與數組用下標訪問是相同的。
請注意,如果使用方括號運算符,鍵名不為數值的時候,必須放在引號里面,否則會被當作變量處理。但是,數字鍵可以不加引號,因為會被當作字符串處理。
另:
當對象的key為一個變量時,并且使用在循環中,那我們可以通過data['key']這種方式來動態生成對象,eg:
總結:
1.對象的key一般應使用合法的變量名(字母或下劃線開頭的包括字母、下劃線和數字的字符串) ,這種情況下通過a.key 或者 a['key']的方式都可以獲取到相應的value值。
2.當特殊場景key為數字的情況下,只能通過a['key']的方式來獲取相應的value值。
?如當建立一個與數據庫中id一一對應的map對象的時候,?
??????? 可直接用id的數值做key,雖然你可以給它加上一個字母前綴來讓它符合合法的變量名的標準,?
??????? 并讓它的數據能通過data.key的方式訪問,?
??????? 但如果數據量非常大的話,?
??????? 為每個id都加一個前綴,+字符連接運算也是要消耗性能的,?
??????? 特別是在很少需要采用data.key方式去訪問屬性的情況下,?
??????? 那么可以拋棄此調用方式,直接用數字做key也未嘗不可,?
??????? 除了key名稱不符合合法變量名的標準之外,似乎并沒有其它損失;
?
轉載于:https://www.cnblogs.com/fireflyo0/p/5239464.html
總結
以上是生活随笔為你收集整理的对象key值为数字时的处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 门锁打不开该怎么办?如何更换防盗门锁?
- 下一篇: 小天鹅洗衣机TD096Y怎么样?值得买吗