javascript - 当我不知道属性名称时,如何从 javascript 对象获取值

标签 javascript angularjs object

我有一个对象var obj = {id: value}

在我的 html 中,我想显示 id 和值。

我正在使用 AngularJS。

请:我不想要 ng-repeat 的解决方案,因为我在这个对象中只得到一个元素

谢谢

最佳答案

在现代浏览器上,您可以通过Object.keys获取对象“自己的”属性名称(而不是来自其原型(prototype)的属性名称)的列表。如果对象只有一个属性,您将只返回一个名称:

var name = Object.keys(obj)[0]; // [0] = get the first (only)

在较旧的浏览器上,您可以通过 for-in 循环:(或者,您可以为 Object.keys 获取“shim”或“polyfill”,其中会在幕后使用一个)

var name, n;
for (n in obj) {
    if (obj.hasOwnProperty(n)) {
        name = n;
        break;
    }
}

一旦知道名称,就可以使用它来获取值:

var value = obj[name];
<小时/>

旁注:通常最好设计对象,使属性名称一致,而值不同。例如,不是 {id: value} ,其中 idvalue 都是可变的,也许是 {id: "the ID ", value: "值"} 其中属性名称一致但值不同。那么你可以只使用 obj.idobj.value

关于javascript - 当我不知道属性名称时,如何从 javascript 对象获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27176292/

相关文章:

javascript - 在 AngularJS Controller 之间共享数据?

java - 将 Object 数组转换为 String 数组会抛出 ClassCastException

javascript - 在 JavaScript 中深度克隆对象的最有效方法是什么?

angularjs - 如何将主体有效负载传递给 Angular $resource DELETE 调用

Java:数组扩展并没有改变原始数组?

javascript - jQuery/javascript 动态 hasClass 条件

javascript - Ag-Grid 树结构,将 autoGroupColumn 更改为隐藏 ID

javascript - <UL> 的 CSS 样式作为表格

javascript - 获取本地 JSON

javascript - Angular Modal 不绑定(bind)到范围属性