情况
我有一个返回的 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/