【问题标题】:In Javascript, how to convert a string to a property name? [duplicate]在 Javascript 中,如何将字符串转换为属性名称? [复制]
【发布时间】:2018-03-11 18:52:16
【问题描述】:

我有一个具有各种属性的全局对象,其值为字符串。当用户在 HTML 输入中键入字符串时,我使用 javascript 将该字符串分配给变量。我需要将该字符串转换为属性名称并返回与该属性关联的字符串。

例如:

myglobalobject = {

    propertyname : "String value to be returned."

}

function GetInput(){
    mystring = document.getElementById('input').value;

    myproperty = convertstringToProperty(str); //This is where I need a solution

    return myglobalobject.myproperty;
}

【问题讨论】:

  • 直接使用myglobalobject[mystring]。你不需要转换任何东西。
  • myGlobalObj[str]
  • 面部护理。如果它是一条蛇,它会咬我的。

标签: javascript string object properties


【解决方案1】:

只需使用计算属性:

return myglobalobject[mystring];

这是对使用点符号的属性访问与使用括号和字符串字面量访问相同的事实的概括:

obj.prop === obj["prop"];

所以当你有一些不是字符串文字的东西时,只需使用括号表示法。

【讨论】:

    【解决方案2】:

    嗯,可以使用字符串来访问属性:

    const myObject = {
      property1: 0,
      property2: 1,
    };
    
    const inputFromUser = 'property1';
    console.log(myObject[inputFromUser]);

    【讨论】:

      【解决方案3】:

      你甚至不需要函数:

      var myglobalobject = {
          propertyname : "String value to be returned."
      }
      function GetInput(){
          mystring = 'anotherKey';
      
          return myglobalobject[mystring] = undefined;
      }
      GetInput()
      console.log(myglobalobject)

      【讨论】:

        猜你喜欢
        • 2014-05-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多