![](/img/trans.png)
[英]javascript I don't know how to get a specific object with getItem
[英]How can I get a value from a javascript object when I don't know the property name
我有一个对象var obj = {id: value}
在我的html中,我想显示id和值。
我正在使用angularjs。
请:我不希望使用ng-repeat解决方案,因为在此对象中我只有一个元素
谢谢
在现代的浏览器上,您可以通过Object.keys
获得对象的“自己的”属性名称(而不是其原型的名称)的列表。 如果对象只有一个属性,则只会返回一个名称:
var name = Object.keys(obj)[0]; // [0] = get the first (only)
在较旧的浏览器上,您可以通过一个for-in
循环:(或者,您可以为Object.keys
获取一个“ shim”或“ polyfill”,在Object.keys
使用一个)
var name, n;
for (n in obj) {
if (obj.hasOwnProperty(n)) {
name = n;
break;
}
}
知道名称后,就可以使用它来获取值:
var value = obj[name];
旁注:通常最好设计对象,以使属性名称一致,并且值各不相同。 因此,例如,而不是{id: value}
,其中id
和value
都是可变的,也许是{id: "the ID", value: "the value"}
,其中属性名称是一致的,并且值是变化的。 然后,您可以只使用obj.id
和obj.value
。
我不确定你的问题是什么。 您有一个名为obj的对象,并且有一个名为id的属性。
您是否要显示名为id的属性的值? 如果是这样,则如下所示:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div ng-app ng-init="obj = {id: 'foo'}"> Object id: {{obj.id}} </div>
还是对象更像字典,属性是可变键的情况?
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div ng-app ng-init="obj = {bar: 'foo'}; id = 'bar'"> Object {{id}}: {{obj[id]}} </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.