【发布时间】:2017-01-02 15:44:28
【问题描述】:
假设我有一个名为项目的对象。 projects 对象有一个名为 projects 的键,它是 2 个其他对象的 array。其他 2 个对象中的每个对象都有一组图像。我能够使用 for in 循环遍历每个对象的数组中的每个图像,但我想使用 for 循环或 forEach 代替。我能做些什么?这是我的代码:
var projects = {};
projects.projects = [
{
"title": "mycode",
"dates": "mycode",
"description": "mycode",
"images": ["http://lorempixel.com/400/200/", "http://lorempixel.com/350/150/", "http://lorempixel.com/500/300/"]
},
{
"title": "mycode",
"dates": "mycode",
"description": "mycode",
"images": ["http://lorempixel.com/400/200/", "http://lorempixel.com/350/150/", "http://lorempixel.com/500/300/"]
}
];
projects.display = function() {
for (var i = 0; i < projects.projects.length; i++) {
var formattedProjectTitle = HTMLprojectTitle.replace("%data%", projects.projects[i].title);
$(".project-entry:last").append(formattedProjectTitle);
var formattedProjectDates = HTMLprojectDates.replace("%data%", projects.projects[i].dates);
$(".project-entry:last").append(formattedProjectDates);
var formattedProjectDescription = HTMLprojectDescription.replace("%data%", projects.projects[i].description);
$(".project-entry:last").append(formattedProjectDescription);
//Iterate through each image in the projects objects.
for (image in projects.projects[i].images) {
var formattedProjectImages = HTMLprojectImage.replace("%data%", projects.projects[i].images[image]);
$(".project-entry:last").append(formattedProjectImages);
}
}
}
【问题讨论】:
-
projects.projects.forEach(function(project, index, projects) { console.log(project.title); project.images.forEach(function(image, index, images) { console.log(image) }) })?? -
谢谢,但我需要更改循环迭代图像,而不是外部循环。
-
喜欢
for (var i = 0; i < projects.projects.length; i++) { projects.projects[i].images.forEach(function(image) { console.log(image) }) }? -
是的,但你能用我的代码代替 console.log(image) 吗?当我在函数范围内添加代码时,它会破坏图像并指向未定义。这是我写的:projects.projects[i].images.forEach(function(image) { var formattedProjectImages = HTMLprojectImage.replace("%data%", projects.projects[i].images[image]); $ (".project-entry:last").append(formattedProjectImages);
-
我把它放在一个答案中
标签: javascript arrays object for-loop for-in-loop