我是靠谱客的博主 俊逸帅哥,最近开发中收集的这篇文章主要介绍对象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值为数字时的处理的全部内容,希望文章能够帮你解决对象key值为数字时的处理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部