javascript – 使用动态属性名称创建对象

前端之家收集整理的这篇文章主要介绍了javascript – 使用动态属性名称创建对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Is it possible to add dynamically named properties to JavaScript object?14个
我想这样做:
  1. var KEYS = {} ;
  2.  
  3. KEYS.PHONE_TYPE = 'phone-type';
  4. KEYS.AGENT_TYPE = 'agent-type';
  5.  
  6. var myAppConfig = {
  7. ...
  8. iconMap : {
  9. KEYS.PHONE_TYPE : 'icon-phone',KEYS.AGENT_TYPE : 'icon-headphones'
  10. };
  11. ...
  12. };

但它失败了,有一条信息:预期’:’而是看到’.’.

如何使用间接(非文字)键名初始化对象?

要清楚,我想要的结果是:

  1. {
  2. 'phone-type' : 'icon-phone','agent-type' : 'icon-headphones'
  3. }

解决方法

您必须使用括号表示法分别添加这些属性
  1. var myAppConfig = {
  2. ...
  3. iconMap : { }
  4. ...
  5. };
  6.  
  7. myAppConfig.iconMap[ KEYS.PHONE_TYPE ] = 'icon-phone';
  8. myAppConfig.iconMap[ KEYS.AGENT_TYPE ] = 'icon-headphones';

猜你在找的JavaScript相关文章