Предложу такой вариант...
let period = {
id: Math.floor(Math.random() * 1000000),
date: new Date().toISOString(),
unit: {
1: {a: '', c: [16,9,3,11,30], p: ''},
2: {a: '', c: [5,12,8,21,33], p: ''},
3: {a: '', c: [6,13,10,22,34], p: ''}
}
};
let num = [16,9,3,11,30, 5,12,8,21,33, 6,13,10,22,34,8,69,25,47,72,18];
function checkPeriod(){
const s = new Set(Object.values(period.unit).flatMap(o => o.c))
let i = 0
num.forEach((v, _, a) => !s.has(v) ? a[i++] = v : 0)
num.length = i
}
checkPeriod()
alert(num)