在Javascript中,如何将字符串转换为属性名称?

时间:2018-03-11 18:52:16

标签: javascript string object properties

我有一个具有各种属性的全局对象,其值为字符串。当用户在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;
}

3 个答案:

答案 0 :(得分:3)

嗯,你可以用一个字符串来访问属性:

const myObject = {
  property1: 0,
  property2: 1,
};

const inputFromUser = 'property1';
console.log(myObject[inputFromUser]);

答案 1 :(得分:2)

只需使用计算属性:

return myglobalobject[mystring];

这是对使用点表示法的属性访问与使用括号和字符串文字进行访问这一事实的概括:

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

因此,如果您的某些内容不是字符串文字,请使用括号表示法。

答案 2 :(得分:0)

你甚至不需要一个功能:



var myglobalobject = {
    propertyname : "String value to be returned."
}
function GetInput(){
    mystring = 'anotherKey';

    return myglobalobject[mystring] = undefined;
}
GetInput()
console.log(myglobalobject)