我有以下对象(称为message_tags):
{
"88": [
{
"id":"864794113531613",
"name":"Luis Angel Rodriguez",
"type":"user",
"offset":88,
"length":20
}
],
"112": [
{
"id":"640891773501",
"name":"Carl Champion Jr.",
"type":"user",
"offset":112,
"length":17
}
]
}
我可以使用以下内容从中获取值:
var id = message_tags[88][0].id
但是它说88
和112
总是不同的数字,我唯一可以告诉它的数字就是获取偏移量,当然如果进一步在对象内部
如何在不知道这些数字是什么的情况下迭代这个对象? (不能使用message_tags[0]
,因为它返回 undefined
答案 0 :(得分:1)
您可以像这样迭代对象:
for (var thisKey in message_tags) {
if (message_tags.hasOwnProperty(thisKey)) {
console.log(thisKey);
console.log(message_tags[thisKey]);
}
}
如果您100%确定原型链是干净的,您可以省略hasOwnProperty()
检查。如果你不知道手段是什么,一定要把它留在里面。
答案 1 :(得分:1)
试试这个:
obj = {
"88": [
{
"id":"864794113531613",
"name":"Luis Angel Rodriguez",
"type":"user",
"offset":88,
"length":20
}
],
"112": [
{
"id":"640891773501",
"name":"Carl Champion Jr.",
"type":"user",
"offset":112,
"length":17
}
]
}
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
alert(key + " -> " + obj[key]);
}
}