basic solution
let idsClass = [1,2,2,4,5,6];
let idsQuiz = [1,4];
for(let i=0;i<idsClass.length;i++){
let j=0;
for(;j<idsQuiz.length;j++){
if(idsClass[i] === idsQuiz[j]){
break;
}
}
if(j === idsQuiz.length) {
idsQuiz.push(idsClass[i]);
}
}
console.log(idsQuiz);
solution using inbuilt methods
let idsClass = [1,2,2,4,5,6];
let idsQuiz = [1,4];
// Adds all elements of idsClass into idsQuiz. may contain duplicates
idsQuiz.push(...idsClass);
//Removes duplicates from idsQuiz
idsQuiz = idsQuiz.filter((val,index,self) => self.indexOf(val) === index);
console.log(idsQuiz);
your code adds element into idsQuiz whenever an element in idsClass doesn't match with an element in idsQuiz. Instead, iterate through whole idsQuiz list and then add if it doesn't exist for each idsClass element.
idsClass = [1,2,3]
idsQuiz = [1]
i = 0, j=0 (no element is added in idsQuiz)
i=1, j=0 (2 is added in idsQuiz)
i=1, j=1 (no element is added in idsQuiz)
i=2, j=0 (3 is added in idsQuiz)
i=2, j=1 (3 is added in idsQuiz)
i=2, j=2 (no element is added in idsQuiz)
i=2, j=3 (no element is added in idsQuiz)