我正在尝试了解如何迭代类似于以下内容的对象:
var json = {"tsn": {
"events": [
{
"title": "Lorem ipsum",
"description": "Dolor sit"
},
{
"title": "Duis aute irure",
"description": "eu fugiat nulla pariatur"
},
],
"occurrence": [
"Music",
"Party"
]
}
};
我想按照下面的代码显式地使用 for
循环(而不是 for in
)
for(var i = 0; i < json.length; i++) {
console.log(json.tsn.events[i].title);
}
为什么上面的代码没有获取到所有的title
?
其次,我应该如何获取所有的occurrence
?
最后,我如何向 events
添加一个新的键/值对,例如 {"image": "cat.jpg"}
以便 json
对象结果如下:
var json = {"tsn": {
"events": [
{
"title": "Lorem ipsum",
"description": "Dolor sit",
"image": "cat.jpg"
},
{
"title": "Duis aute irure",
"description": "eu fugiat nulla pariatur",
"image": "dog.jpg"
},
],
"occurrence": [
"Music",
"Party"
]
}
};
最佳答案
因为你使用了错误的长度。使用:
for (var i=0;i<json.tsn.events.length; i++) { ...
然后你应该是金色的。对于发生的情况,它几乎是一样的——循环为:
for (var i=0;i<json.tsn.occurrence.length; i++) {
console.log(json.tsn.occurrence[i]);
}
而且您还会将这些值拉回来。
关于javascript - 使用 for 循环迭代对象和数组并添加键/值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42496978/