JavaScript - 无法使用嵌套循环将 2 个数组组合成 1 个空数组

问题描述 投票:0回答:0

我是新来的,我也刚写了几个月代码。我被一个测试嵌套循环的例子困住了,我无法解决这个问题。

我正在尝试获取 2 个带有要添加到空数组的字符串的数组。我知道如何使用数组方法(或者它是函数)来做到这一点,但我试图通过将它们相互比较来查看是否可以将每个项目添加到这个空数组中。如果它们不是同名,则添加到数组中。

但是陷入了死循环。它会继续向空数组中添加“未定义”的项目。所以它基本上完成了工作,但不会停止在数组中添加项目。

这是我的代码:

const completedComics = ['Creepshow', 'X-O Manowar', 'Saga']
const completedComics2 = ['Descender', 'Ascender', 'The Last Ronin']
let totalCompletion = []

for (let c = 0; c < completedComics.length; c++){
    for(let c2 = 0; c2 < completedComics2.length; c++){
        if (completedComics[c] != completedComics2[c2]){
            totalCompletion.push(completedComics[c])
        }
    }
}
console.log(totalCompletion.join(", "))

我正在尝试从第一个数组中获取漫画名称列表,以及另一个数组中的项目列表,以将它们一起添加到“totalCompletion”数组中。

我尝试添加一个 else 语句来添加它们,如果它们彼此相等 (===) 则 if 语句不执行任何操作,但这只是在无限循环中添加项目而不是“未定义”。我也尝试过四处移动,从“if”语句中的变量调用中删除索引,但无论发生什么,if 都无法通过该内部循环。

我想做的是,通过嵌套循环,将“completedComics”和“completedComics2”索引项都放在一个地方,即“totalCompletion”数组。

这就是我想要的结果:

console.log(totalCompletion.join(", "))

['Creepshow', 'X-O Manowar', 'Saga', 'Descender', 'Ascender', 'The Last Ronin']
javascript arrays loops nested-loops
© www.soinside.com 2019 - 2024. All rights reserved.