如何访问"案例"和"注意"每个"时间"的值以下代码中的键值?
我在定义对象时遇到错误吗?
obj = {
"1483805300000": [{"case":"77222","note":"Hello"}],
"1483805600000": [{"case":"77333","note":"Hello 333"}]
};
for (const prop in obj) {
$('div').html( $('div').html() + prop +'<br>');
$('div').html( $('div').html() + prop.case +'<br>');
$('div').html( $('div').html() + prop["note"] +'<br>');
}
&#13;
div{background:beige;padding:5px;}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div></div>
&#13;
还试过这个:
obj = {
"1483805300000": {"case":"77222","note":"Hello"},
"1483805600000": {"case":"77333","note":"Hello 333"}
};
for (const prop in obj) {
$('div').html( $('div').html() + prop +'<br>');
$('div').html( $('div').html() + prop.case +'<br>');
$('div').html( $('div').html() + prop["note"] +'<br>');
}
&#13;
div{background:beige;padding:5px;}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div></div>
&#13;
而且,查理在评论中提出的建议也有效:
obj = {
"1483805300000": {"case":"77222","note":"Hello"},
"1483805600000": {"case":"77333","note":"Hello 333"}
};
for (const prop in obj) {
$('div').html( $('div').html() + prop +'<br>');
$('div').html( $('div').html() + obj[prop].case +'<br>');
$('div').html( $('div').html() + obj[prop]["note"] +'<br>');
}
&#13;
div{background:beige;padding:5px;}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div></div>
&#13;
答案 0 :(得分:3)
您可以使用$.each()
,.append()
const obj = {
"1483805300000": [{"case":"77222","note":"Hello"}],
"1483805600000": [{"case":"77333","note":"Hello 333"}]
};
let div = $("div");
$.each(obj, function(key, value) {
div.append(`${key}<br>${value[0]["case"]}<br>${value[0]["note"]}<br><br>`
)
})
div{background:beige;padding:5px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
</script>
<div></div>
或者,使用Object.keys()
,.map()
迭代数组
const obj = {
"1483805300000": [{"case":"77222","note":"Hello"}],
"1483805600000": [{"case":"77333","note":"Hello 333"}]
};
let div = $("div");
$.each(obj, function(key, value) {
div.append(`${key}
<br>
${Object.keys(value[0]).map(function(prop) {
return `${value[0][prop]}<br>`
}).concat("<br>").join("")
}`
)
})
div{background:beige;padding:5px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
</script>
<div></div>
答案 1 :(得分:2)
删除包裹每个单独对象的数组,并使用obj[prop].propertyName
或obj[prop]['propertyName']
访问相应的属性值
obj = {
"1483805300000": {"case":"77222","note":"Hello"},
"1483805600000": {"case":"77333","note":"Hello 333"}
};
for (var prop in obj) {
$('div').html( $('div').html() + prop +'<br>');
$('div').html( $('div').html() + obj[prop].case +'<br>');
$('div').html( $('div').html() + obj[prop]["note"] +'<br>');
}
&#13;
div{background:beige;padding:5px;}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div></div>
&#13;
答案 2 :(得分:1)
您需要使用obj[prop][0].case
&amp; obj[prop][0].note
代替prop.case
&amp; prop['note']
喜欢以下。
obj = {
"1483805300000": [{"case":"77222","note":"Hello"}],
"1483805600000": [{"case":"77333","note":"Hello 333"}]
};
for (const prop in obj) {
$('div').html( $('div').html() + prop +'<br>');
$('div').html( $('div').html() + obj[prop][0].case +'<br>');
$('div').html( $('div').html() + obj[prop][0].note +'<br>');
}
div {
background: beige;
padding: 5px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div></div>
如果您不使用数组(方括号[]),则需要使用obj[prop].case
&amp; obj[prop].note
obj = {
"1483805300000": {"case":"77222","note":"Hello"},
"1483805600000": {"case":"77333","note":"Hello 333"}
};
for (const prop in obj) {
$('div').html( $('div').html() + prop +'<br>');
$('div').html( $('div').html() + obj[prop].case +'<br>');
$('div').html( $('div').html() + obj[prop].note +'<br>');
}
div{
background: beige;
padding: 5px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div></div>
答案 3 :(得分:1)
应该是obj[prop][0]
...
obj = {
"1483805300000": [{
"case": "77222",
"note": "Hello"
}],
"1483805600000": [{
"case": "77333",
"note": "Hello 333"
}]
};
for (const prop in obj) {
$('div').html($('div').html() + prop + '<br>');
$('div').html($('div').html() + obj[prop][0].case+'<br>');
$('div').html($('div').html() + obj[prop][0].note + '<br>');
}
&#13;
div {
background: beige;
padding: 5px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div></div>
&#13;