How can I write this using forEach How can I write the code from bellow using a forEach instead of for
for (let i = 0; i < numbers.length; i += 1) {
if (numbers[i] % 2 === 0)
{
numbers[i] = numbers[i] + value;
}
Ответы (2 шт):
Автор решения: VDV channel
→ Ссылка
function changeEven(numbers, value) {
const numb = [];
numbers.forEach((num) => { // перебираем елементы
if (num%2 === 0) // проверяем на четность
num += value; // если четное плюсуем велью
numb.push(num); // пушим в новый массив
console.log (numb);
});
return numb ; // возвращаем новый массив
}
changeEven([1, 2, 3, 4, 5], 10);
Автор решения: Vadim
→ Ссылка
Раз, ты уже разобрался, вот тебе еще пару решений
const changeEven = (numbers, value)=>{
const arr = [];
numbers.forEach((num)=>{
if(num % 2 === 0)num += value;
arr.push(num);
});
return arr;
};
const a = changeEven([1, 2, 3, 4, 5], 10);
console.log(1, a);
//
const changeEven2 = (numbers, value)=>{
return numbers.map((num)=>{
if(num % 2 === 0)num += value;
return num;
});
};
const b = changeEven2([1, 2, 3, 4, 5], 10);
console.log(2, b);
//
const changeEven3 = (numbers, value)=>numbers.map((num)=>(num % 2 === 0 ? num + value : num));
const c = changeEven3([1, 2, 3, 4, 5], 10);
console.log(3, c);