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);
→ Ссылка