Метод forEach, нужно перебрать и вернуть массив

Помогите разобраться, нужно чтобы в консоль вернуло массив a10, только те числа, которые меньше нуля, стали нулями, и вывелся массив. let a10 = [2, 13, 14, -7, 9, 5, 0, -2, 14];

function t10() {
    a10.forEach(item => {
        if(item < 0){
            item = 0;
        }
        return item;
    });
    return a10;
}

document.querySelector('.b-10').onclick = () => {
    console.log(t10());

}

Сейчас выводит: a10 = [2, 13, 14, -7, 9, 5, 0, -2, 14]; А нужно: a10 = [2, 13, 14, 0, 9, 5, 0, 0, 14];


Ответы (1 шт):

Автор решения: Bamberg

let a10 = [2, 13, 14, -7, 9, 5, 0, -2, 14];

a10.forEach((e, i) => {
  if (e < 0) a10[i] = 0;
});

console.log(a10);

Если не обязательно использовать forEach, то еще можно так:

let a10 = [2, 13, 14, -7, 9, 5, 0, -2, 14];
let result = a10.map(e => e < 0 ? 0 : e);
console.log(result);

→ Ссылка