【问题标题】:Getting a Custom Objects properties by string var [duplicate]通过字符串 var [重复] 获取自定义对象属性
【发布时间】:2011-10-27 11:49:05
【问题描述】:

可能重复:
javascript object, access variable property name?

试图在我的 JS 中变得更高级...

我有一个自定义对象:

Object myObject = new Object();

myObject.thing = anythingHere;

我希望能够通过传入字符串来检索自定义对象属性...例如:

var propertyString = 'thing';
alert(myObject.propertyString);

我不太清楚。我已经查看了一些自定义对象的教程 - 但没有任何内容显示如何获取我不知道名称的属性......另外 - 如果可能的话,我想避免循环遍历所有属性......

谢谢!!!

【问题讨论】:

    标签: javascript properties custom-object


    【解决方案1】:

    只需使用myObject['thing']

    【讨论】:

    • 为什么 myObject.thing 不检索值?
    • 因为在这个评论中“东西”是一个字符串(它被引号包围)。
    • 如果你想为嵌套对象工作,你可以使用 lodash 类似 _.map([object], _.property(propertyPath))[0];会工作的。
    • @D.B myObject.thing 不起作用的原因是因为 thing 在使用“点”语法时被假定为 myObject 上的一个属性。要让 Javascript 将 thing 视为变量,您必须使用 [] 语法。
    【解决方案2】:

    你可以使用:

    myObject[propertyString] ;
    

    【讨论】:

    • 为什么 myObject.thing 不检索值?
    • @D.B 因为该符号会查找名为 thing 的属性。
    猜你喜欢
    • 2012-07-08
    • 1970-01-01
    • 2016-03-19
    • 2013-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-04
    相关资源
    最近更新 更多