在javascript中遍历列表列表时出错
我带着Ajax从controller返回一个模型,该模型被设置为toArray,以便操作数据。但是,这个列表有2个对象,在每个对象中,一个作业可以有一个图片列表。我可以循环对象,但当我循环该对象中属性名为的列表时,表示该名称不存在,在我的情况下,我非常确定它存在 posts.FindJobs.JobPictures是一个列表,每个索引中都有一些字节。 这是我的密码在javascript中遍历列表列表时出错,javascript,jquery,asp.net-mvc,model-view-controller,Javascript,Jquery,Asp.net Mvc,Model View Controller,我带着Ajax从controller返回一个模型,该模型被设置为toArray,以便操作数据。但是,这个列表有2个对象,在每个对象中,一个作业可以有一个图片列表。我可以循环对象,但当我循环该对象中属性名为的列表时,表示该名称不存在,在我的情况下,我非常确定它存在 posts.FindJobs.JobPictures是一个列表,每个索引中都有一些字节。 这是我的密码 $.each(posts.FindJobs, function (i, posts) {
$.each(posts.FindJobs, function (i, posts) {
console.log(posts);
$(".job-container").append(`
<li class="separate-job" id="All-Jobs-Id" value="` + posts.jobId + `">
<div class="content-li-All-Jobs">
<h2 class="content-li-All-headline" id="headline-for-Update">`+ posts.Headline + `</h2>
<a class="btn btn-success bid-for-job" value="`+ posts.jobId + `" href="#">Bid now</a>
<div class="user">
<blockquote class="blockquote">
<p class="mb-0">
<div class="about-job">`+ posts.About + `</div>
</p>
<div class="blockquote-footer">
<cite>-`+ posts.Username + `</cite>
</div>
</blockquote>
</div>
<div class="pictures-li">
`+$.each(posts.FindJobs.JobPictures, function (i, pictures) {
console.log(pictures);
})+`
</div>
<div class="job-date-li">
Posted
</div>
<div class="-job-town">Area | <span class="city">`+posts.JobCity+`</span></div>
</div>
</li>
`)
});
问题是,您试图直接访问FindJobs上的JobPictures,而需要循环查看每个职位的JobPictures 我建议使用不同的变量名,如post,而不是重复使用posts变量名,即: 将外部循环更改为
$.each(posts.FindJobs, function (i, post) { // <-- use post as the inner variable
当你真的有:
{
FindJobs: [ // <-- this is an array your outer loop is going over
{ jobId: 1, JobPictures: [ ... ], ... } // <-- your job items have their own JobPictures array
{ jobId: 2, JobPictures: [ ... ], ... }
...
]
}
在控制台中的posts.FindJobs[i].JobPictures@messerbill.logposts我可以看到2个索引2个作业,在每个作业中我可以看到另一个数组,称为JobPictures,但当我尝试迭代时,它会给我一个错误。我附上了两张照片来显示:@messerbill是的,它被执行了,问题回答如下:
{
FindJobs: {
JobPictures: [ ... ]
}
}
{
FindJobs: [ // <-- this is an array your outer loop is going over
{ jobId: 1, JobPictures: [ ... ], ... } // <-- your job items have their own JobPictures array
{ jobId: 2, JobPictures: [ ... ], ... }
...
]
}