Jam*_*ber 18 javascript properties object
情况
我有一个返回的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"}]
Run Code Online (Sandbox Code Playgroud)
问题
在我的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
});
Run Code Online (Sandbox Code Playgroud)
Ric*_*omi 31
Object.keys(m)[0]应返回对象中的第一个可枚举属性名称m.
所以,如果m = {"who": "Arthur"};再m[Object.keys(m)[0]]会"Arthur".
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/keys
或者:Object.values(m)[0].请参见Object.values
您还可以使用for in循环:
data.forEach( function ( m ) {
for ( const key in m ) {
console.log( key ); // "who"
console.log( m[key] ); // "Arthur"
}
});
Run Code Online (Sandbox Code Playgroud)
上面的方法也适用于key: value对象中的多对,即:
[ {"who": "Arthur", "who": "Fred"}, {"who": "Craig"}, ]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12944 次 |
| 最近记录: |