在不知道属性名称的情况下访问 JavaScript 的对象属性 [英] Accessing a JavaScript's object property without knowing that property name

查看:32
本文介绍了在不知道属性名称的情况下访问 JavaScript 的对象属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

情况

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

I have a JSON object which is returned. And Below is an example of one. The who in this particular example can change to whatever property name is required. So for example next time this will be name rather than 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 中,我需要能够在不使用其名称的情况下引用该属性并访问其数据,因为名称总是不同的.

In my JS I need to be able to refer to the property and access its data without using its name as the name will always be something different.

我的尝试

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]] 将是 "亚瑟".

So if m = {"who": "Arthur"}; then m[Object.keys(m)[0]] will be "Arthur".

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

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

这篇关于在不知道属性名称的情况下访问 JavaScript 的对象属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆