如何使用作为参数传递的属性名称?

时间:2018-07-08 12:08:01

标签: javascript object

我有一个函数,可以对一组对象进行处理,我只需要具有另一个对象的属性名称即可访问它,但是我无法定义。 看来我不能使用字符串来访问对象

function myFunction(arrayOfObjects, propName)
{
     for(var i = 0; i < arrayOfObjects.length; i++)
     {
         //This will give undefined, propName is simply a string coming from Object.keys()
         arrayOfObjects[i].propName = something;
     }

    return something;
}

调用该函数

var arrayOfNameProp = Object.keys(myObject);

var x = myFunction(arrayOfObjects, arrayOfNameProp[0]);

1 个答案:

答案 0 :(得分:2)

当您将其作为string传递时,请使用方括号符号[propName]代替点符号.propName

arrayOfObjects[i][propName] = something;