【问题标题】:How can i use a property name passed as paramenter? [duplicate]如何使用作为参数传递的属性名称? [复制]
【发布时间】:2018-12-16 07:53:58
【问题描述】:

我有一个对对象数组执行某些操作的函数,我只需要另一个对象的属性名称即可访问它,但我没有定义。 看来我不能使用字符串来访问对象

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]);

【问题讨论】:

标签: javascript object


【解决方案1】:

当您将其作为string 传递时,请使用括号表示法[propName] 而不是点表示法.propName

arrayOfObjects[i][propName] = something;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-10
    • 2014-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-04
    相关资源
    最近更新 更多