Javascript 来自API数据的for循环中的If语句

Javascript 来自API数据的for循环中的If语句,javascript,for-loop,if-statement,Javascript,For Loop,If Statement,各位,, 我一直在上下搜寻。我尝试了不同的方法,但我无法解决这个简单的问题。基本上,我是在调用WebAPI,它是来自MarvelAPI的漫画书的集合。从API获取数据之后。我的目标是检查这些漫画书,看看它们是否有图像。如果他们没有图像,我想进入下一本漫画书,寻找一本有图像的漫画书,然后将其添加到空变量中,直到有三本漫画书。这是我迄今为止一直在编写的代码示例。首先,我创建了一个空变量,然后使用API中的数据创建了第二个变量。然后我声明计数为0开始。然后,我对从API返回的所有数据运行for循环。然

各位,, 我一直在上下搜寻。我尝试了不同的方法,但我无法解决这个简单的问题。基本上,我是在调用WebAPI,它是来自MarvelAPI的漫画书的集合。从API获取数据之后。我的目标是检查这些漫画书,看看它们是否有图像。如果他们没有图像,我想进入下一本漫画书,寻找一本有图像的漫画书,然后将其添加到空变量中,直到有三本漫画书。这是我迄今为止一直在编写的代码示例。首先,我创建了一个空变量,然后使用API中的数据创建了第二个变量。然后我声明计数为0开始。然后,我对从API返回的所有数据运行for循环。然后使用if语句检查映像路径的条件。这就是事情变得疯狂的地方,因为如果我把第二个变量推到第一个;它基本上只是从api中获取整个数据。我做错了什么,或者我在这里错过了什么。请有人帮助一个初学者

var comicsWithImage = []
var fullListComics = comicsData.data.results;
var count = 0;
for(var i = 0; i < fullListComics.length; i++){
    if(count == 3){
        break
    }
    if(comicsData.data.results[0].thumbnail.path !== 'image_not_available'){
        comicsWithImage.push(fullListComics)
        count++
        console.log(comicsWithImage)
    }  
} 
var comicsWithImage=[]
var fullListComics=comicdata.data.results;
var计数=0;
for(var i=0;i
您总是检查第一个图像,而不是循环的当前图像。然后将整个结果数组推送到
ComicWithImage
数组,而不是当前元素

var comicsWithImage = []
var fullListComics = comicsData.data.results;
var count = 0;
for(var i = 0; i < fullListComics.length; i++){
    if(fullListComics[i].thumbnail.path !== 'image_not_available'){
        comicsWithImage.push(fullListComics[i])
        count++
        if(count == 3){
            break
        }
    }  
}
console.log(comicsWithImage)

为什么循环没有在任何地方使用
fullListComics[i]
?为什么总是测试
results[0]
而不是循环的当前元素?而不是
ComicData.data.results[0]。thumb…
,使用
fullListComics[i]。thumb…
comicsWithImage.push(fullListComics)
应该变成
comicsWithImage.push(fullListComics[i])
ComicData.data.results[0].thumbnail.path
应该变成
ComicData.data.results[i].thumbnail.path
或者干脆变成
fullListComics[i].thumbnail.path
这澄清了我对使用循环及其当前元素不了解的一个重要问题。我总是使用组中的第一个元素,而不是循环中的单个当前元素。。。再次非常感谢大家。!!!!!
var comicsWithImage = 
    comicsData.data.results.filter(result => result.thumbnail.path !== 'image_not_available')
        .slice(0, 3);