【发布时间】:2015-06-08 23:58:43
【问题描述】:
我有一个对象,它只有一个属性(自己的属性)。访问该属性值的最简单方法是什么?
类似:
value = obj[<firstProperty>];
我知道我可以编写一个函数或一个 for 循环来执行此操作,但我想问是否有更短的方法。
for (p in obj) {
if (obj.hasOwnProperty(p)) {
value = obj[p];
}
}
我不会事先知道该物业的名称。我只知道直接在对象上只会有一个属性。
【问题讨论】:
-
修复数据的设计。具有一个未知属性名称的对象通常表示沿线某处的设计选择不佳。具有未知属性名称的单个数据不属于对象。如果您只想存储单个未知键和值,则只需将它们放入数组
["unknownKey", value]即可直接访问每个。 -
我敢打赌。向我们展示整体背景,如果您描述的是设计它的最佳方式,我会感到非常惊讶。
-
是什么让这个案例与众不同?
-
Javascript 没有内置方法来执行此操作的原因是,有更好的方法来表达 Javascript 直接支持的数据结构。您甚至可以使用两个已知的属性名称来存储您的两个未知值
{propname: "unknownKey", value: val}。我宁愿看到人们改进一个没有这个问题的更好的设计,而不是实施一个黑客来解决这个设计。但是,如果你不想改变设计,我猜这是你的选择。 -
@ChrisGciso - 如果你真的想解释,你必须展示代码和实际的数据结构。光是这些话就很难理解。
标签: javascript object properties