JavaScript-枚举嵌套对象结构
我需要解析此对象的帮助:JavaScript-枚举嵌套对象结构,javascript,Javascript,我需要解析此对象的帮助: var user = { "10000068485": {"id":"10000068485","name":"Jenan"}, "10000099257": {"id":"10000099257","name":"John"} } 我需要读取每行的id和名称属性: 1 row - id = 10000068485 and name = Jenan 2 row - id = 10000099257 and name = John 到目前为止,我已经试
var user = {
"10000068485": {"id":"10000068485","name":"Jenan"},
"10000099257": {"id":"10000099257","name":"John"}
}
我需要读取每行的id和名称属性:
1 row - id = 10000068485 and name = Jenan
2 row - id = 10000099257 and name = John
到目前为止,我已经试过了:
for (var key in user) {
if (user.hasOwnProperty(key)) {
var obj = user[key];
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
//This read 4 rows and no 2 rows
}
}
}
}
注释:我想在一行中显示id和名称
注释:在html表中
注释:我想将id和名称分为两列。您有两个键id,每个键都有两个键id,name。所以在你的内部循环中,它是4=2x2
> for(key in user) {
... obj = user[key];
... for (prop in obj) {
... console.log(obj[prop])
... }
... }
10000068485
Jenan
10000099257
John
你应该这样做
for (var key in user) {
var obj = user[key];
if (obj.hasOwnProperty("name") && obj.hasOwnProperty("id")) {
alert("id:"+obj.id +" & name:"+obj.name);
}
}
小提琴:如果你的HTML表格是这个
<table id=data_table>
<thead>
<th>ID</th>
<th>NAME</th>
</thead>
<tbody>
</tbody>
</table>
演示:
下面是一个在div中创建新元素的示例
生成的结构如下所示:
<div id=main>
<p>
<span>10000068485</span> <span>Jenan</span>
</p>
<p>
<span>10000099257</span> <span>John</span>
</p>
</div>
演示:您的问题到底是什么?您的代码工作正常。你面临的问题是什么?@LightnessRacesinOrbit:你在和谁说话?要求澄清没有什么错。@Jenan:好的。那就麻烦了。您在问题中提供的代码的唯一部分是看起来工作正常的通用部分。由于您遇到的问题是表插入,因此这可能是最重要的部分。不知道你的桌子结构,很难回答。@Jenan:没关系。我希望这会有所帮助。我对你们的桌子结构还是一无所知,所以我就编了一张。让我知道它是否适合你。这工作很好。多谢各位@杰南:不客气。很高兴它起作用了。谢谢你的耐心:-你能帮我吗?我将对html div执行相同的逻辑。非常感谢!你太棒了。
var user = {
"10000068485": {"id":"10000068485","name":"Jenan"},
"10000099257": {"id":"10000099257","name":"John"}
};
var tbody = document.getElementById('data_table').tBodies[0];
for (var key in user) {
if (user.hasOwnProperty(key)) {
var row = tbody.insertRow( tbody.rows.length );
row.insertCell( 0 )
.appendChild( document.createTextNode( user[key].id ) );
row.insertCell( 1 )
.appendChild( document.createTextNode( user[key].name ) );
}
}
<div id=main>
<p>
<span>10000068485</span> <span>Jenan</span>
</p>
<p>
<span>10000099257</span> <span>John</span>
</p>
</div>
var user = {
"10000068485": {"id":"10000068485","name":"Jenan"},
"10000099257": {"id":"10000099257","name":"John"}
};
var p, main = document.getElementById('main');
for (var key in user) {
if (user.hasOwnProperty(key)) {
p = main.appendChild( document.createElement('p') );
p.appendChild( document.createElement('span') )
.appendChild( document.createTextNode( user[key].id ) );
p.appendChild( document.createElement('span') )
.appendChild( document.createTextNode( user[key].name ) );
}
}