Если вы хотите изменить свой массив на месте, тогда Array.forEach()
- это путь, и вам придется использовать индекс для этого, который является вторым аргументом вашего обратного вызова.
Однако, если вы хотите сгенерировать новый массив, я предлагаю использовать Array.map()
, который возвращает новый элемент для каждой итерации:
const numArr = [-1, 0, 1, 2, 3, 10, 11, 12, 100, 3.14];
const prefix = x => {
const s = `0${x.toString().replace('-', '')}`;
return s.split('.')[0].length >= 3 ? `${x}` : `${x < 0 ? '-' : ''}${s}`;
}
const result = numArr.map(prefix);
numArr.forEach((x, i) => numArr[i] = prefix(x));
console.log(result);
console.log(numArr);