javascript - 在不知道属性名称的情况下访问 JavaScript 的对象属性

标签 javascript object properties

情况

我有一个返回的 JSON 对象。下面是一个例子。此特定示例中的 who 可以更改为所需的任何属性名称。例如,下次这将是 name 而不是 who

 [{"who":"Arthur"},{"who":"Craig"},{"who":"Dan"},{"who":"Daniel"},{"who":"Frank"},{"who":"Ian"},{"who":"jamie"},{"who":"Jason"},{"who":"jaz"},{"who":"Liam"},{"who":"Paul"},{"who":"Shaun"},{"who":"Wayne"}]

问题

在我的 JS 中,我需要能够引用该属性并访问其数据,而无需使用其名称,因为名称总是不同的。

我尝试过的

data.forEach(function(m){
    console.info(m); // Object { who="Craig"}
    console.info(m.who); // Craig, as expected
    console.info(m[0]); // now not sure who to get it if who changes to name
});

最佳答案

Object.keys(m)[0] 应返回对象 m 中的第一个可枚举属性名称。

因此,如果 m = {"who": "Arthur"};m[Object.keys(m)[0]] 将是 "亚瑟”

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/keys

<小时/>

或者:Object.values(m)[0]。请参阅Object.values

关于javascript - 在不知道属性名称的情况下访问 JavaScript 的对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16576457/

相关文章:

javascript 从 json 结果创建一个新数组

php - 访问 PHP 对象属性的语法是什么?

javascript - 在 javascript 中否定正则表达式中的模式时出现错误

javascript - 用于替换字符串中小数点后无意义零的正则表达式模式

javascript - 将 JQuery UI 效果应用于文本时出现滚动条问题

javascript - 访问单个 Json 对象中的元素

c# - 动态创建新的 PropertyInfo 对象

Javascript console.log 返回 c() 而不是对象的值

Swift - 保持两个属性同步

delphi - 它是否违反了接口(interface)属性访问器公开的封装?