Собрать новый массив:
const newArr = arr.map(n => ({
...n,
array2: n.array2.filter(n => n !== null),
}));
Обновить существующий:
arr.forEach(n => n.array2.reduceRight((_, n, i, a) => n === null && a.splice(i, 1), 0));
// или
for (const { array2 } of arr) {
array2.splice(0, array2.length, ...array2.filter(n => n !== null));
}
// или
for (let i = 0; i < arr.length; i++) {
let numDeleted = 0;
for (let j = 0; j < arr[i].array2.length; j++) {
arr[i].array2[j - numDeleted] = arr[i].array2[j];
numDeleted += arr[i].array2[j] === null;
}
arr[i].array2.length -= numDeleted;
}