Выводит в консоль просто 0
var numberLimit = 10;
var primes = [3, 5];
let sum = 0;
var list = [];
for (var el = 1; el < numberLimit; el++) {
for (var i = 0; i < primes.length; i++) {
if (el % primes[i] == 0) {
list.push(el);
}
}
}
var list2 = new Set(list);
for (var b = 0; b < list2.length; b++) {
console.log(list2[b]);
}
console.log(sum);
В консоль выводит 0. Почему ?????
Ответы (2 шт):
Автор решения: Boris Kiva
→ Ссылка
Если вы хотите вывести элементы Set, то можно сделать так
console.log(new Array(...list2).join(' '));
Автор решения: Grundy
→ Ссылка
list2 - это Set. У него нет свойства length.
Поэтому в цикл
for (var b = 0; b < list2.length; b++) {
console.log(list2[b]);
}
выполнение даже не заходит.
Кроме того, нельзя обращаться к элементам Set по индексу, и запись list2[b] даст undefined.
Для обхода элементов Set лучше воспользоваться циклом for..of
for (var b of list2) {
console.log(b);
}