Необходимо вывести нечетные числа не изменяя текущий код.
const arr = Object.freeze([0, 1, 2, 3, 4, 5, 6, 7, 8])
// code
for (item of arr) {
console.log(item) // 1,3,5,7
}
Код, который работает некорректно, т.е. выводит все числа от 0 до 8:
const arr = Object.freeze([0, 1, 2, 3, 4, 5, 6, 7, 8])
arr[Symbol.iterator] = function () {
let count = 0;
const array = arr;
const newArr = []
for (let i = 0; i <= array.length; i++) {
if (array[i] % 2 == 1) {
newArr.push(array[i])
}
}
return {
next() {
if (count <= newArr.length - 1) {
return {
done: false,
value: newArr[count++]
};
} else {
return {
done: true
};
}
}
}
};
for (item of arr) {
console.log(item) // 1,3,5,7
}