【问题标题】:Dynamic object property names?动态对象属性名称?
【发布时间】:2010-12-20 09:14:42
【问题描述】:

我怎样才能做到这一点:

var name = otherObject.name; //"string"
var o = { 
            name : otherObject
        };
alert(o["string"].name);

【问题讨论】:

    标签: javascript json variables


    【解决方案1】:

    改用括号表示法。

    var name = otherObject.name;
    var o = {};
    o[name] = otherObject;
    

    或者,在现代 JavaScript 中:

    var o = {
      [name]: otherObject,
    };
    

    【讨论】:

    • 由于这是一个不错的重复目标,因此比“现代 JavaScript”更具体可能会有所帮助。这种语法是在 ECMAScript 2015 中引入的,称为computed property name。这是规范ComputedPropertyName expression 的链接,以防您也想直接引用规范。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-12
    • 2017-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多