You want the Topic also to be an array ? .. usually in Node-red the msg.topic is reserved to be used as a small description of what the msg is about. It would be better if you returned an array of objects but if you need it this way.
GlObject = {
VOLTATGEL1: 400,
INTENSITATL1: 2,
POTENCIAL1: 12,
POTREACL1: 1,
FACTORPOTL1: 0.95,
VOLTATGEL2: 405,
INTENSITATL2: 22,
POTENCIAL2: 12,
POTREACL2: 3,
FACTORPOTL2: 0.96,
VOLTATGEL3: 399,
INTENSITATL3: 17,
POTENCIAL3: 6,
POTREACL3: 2,
FACTORPOTL3: 0.89,
POTENCIAACTIVAIII: 25,
POTENCIAINDUCTIVAIII: 20,
POTENCIACAPACITIVAIII: 5,
COSPHI: 0.85
}
let payload = []
let topic = []
Object.entries(GlObject).forEach( ([key,value]) => {
if ( key.match(/ENSIT/) ) // regex to match
{
payload.push(value)
topic.push(key)
}
})
msg.payload = payload
msg.topic = topic
return msg;