Замена нулей в массиве на следующее ненулевое число
Как написать метод, который будет заменять 0 на рядом идущее число:
Чтобы из этого:
[0, 0, 3, 0, 4]
Получилось это:
[3, 3, 3, 3, 4]
Из этого:
[1, 2, 4, 0, 0]
Вот это:
[1, 2, 4, 4, 4]
Из этого:
[1, 2, 5, 0, 5]
Вот это:
[1, 2, 5, 5, 5]
Из этого:
[1, 2, 0, 6, 6]
Вот это:
[1, 2, 6, 6, 6]
Ответы (1 шт):
Автор решения: FixiDens
→ Ссылка
Вопрос решен, тут - спасибо @hev1.
const arr = [1, 2, 4, 0, 0];
const replacement = arr.find((n, i) => n !== 0 && arr[i - 1] === 0) || arr.find((n, i) => n !== 0 && arr[i + 1] === 0);
const res = arr.map(x => x || replacement);
console.log(res);